From a3e838c1ce15fc9520816944006b7a4cc4452fca Mon Sep 17 00:00:00 2001 From: stevenh Date: Mon, 20 Feb 2012 11:10:48 +0000 Subject: [PATCH] Updated HttpServer to latest head + a fix for Connection: TE which was causing all RestAPI calls from TE supporting clients to fail --- HttpBins/HttpServer.dll | Bin 156160 -> 171520 bytes HttpBins/HttpServer.pdb | Bin 456192 -> 421376 bytes HttpBins/HttpServer.xml | 12371 +++++++++++++++++++------------------- 3 files changed, 6188 insertions(+), 6183 deletions(-) diff --git a/HttpBins/HttpServer.dll b/HttpBins/HttpServer.dll index bf54306832eaeb2d4da67c8d86ab9460073802ac..b87662e724ec8bfdf78914203892e463f5f3c11f 100644 GIT binary patch literal 171520 zcmb?^37izg6?bhg?+7 z2?t!D5=to-^!@ir{R&t9jh5dZ|7nGHr}~FGsrxd|_x)AH-p}{l@8~(jhIwIdRCw5N z4M!Yy{PDs3hQntygbR*um~(u?t`ny;92XopYe;o04QmR_ZcGDNnn0x*vQ4_$P3sbmYNOZvI7A#nQlizo`juqn9YvMgHy8Kpjo}>OMzJ zA&+#|QV|{h-gZpiJ0|cb33NkAOxn`qqyU;uS_bJN7Kg#B)q>w38lPwW|9?AD{EYnB)I5s=n7N zU-oqW_1*z%`aE^oZZBMM`5$wA6L0?Y<`>_&_nn>AU+~49{f>F`gs0YzYB>7H-woXB z>ly!e;q&wVdFima*Z#1_XX|?|IQzm$dz|<8y0ak$6NrBfWdz76r#S_;pbiR=lES@atAyGDS9nDJiJ&I}G$pzfs&s@z z(5oDS;hT)kOnN$eenUmpYwBWRxB(hRRu$5Y>vv`DjV7;0qqvD~8!B|1$`FO0SL}lb zixR=&3gr#%sjtCiaBHc@kKceF1TR$NkxOORnKAn67_BA-uRk1PR5?aeDCQ(Z)nasy zyC;nNHSHZYM~O;5+k2$bpdWk!lrvI%6b9|;2g2;* z6#FB5iB;zK10?0mG}E|e%<@n-s9ddIZO^cF*aC95wm?98m1LAtY)n9S=oB_vJctE> zrX`ig=Fu*Y2BfoT5R~l=_6>jJWc>*m6I*#|7Rt^)r#O%WsD``Ka5pTtglco0wGhVf zeR%m_JIX7eLyigv#g>pWAYwu`XM+ccz2YDQ?$)r?0(6c1DWbI55}KMT!@T+mVx=u55n{})|7!Fy~5JYxE#GdEFfU`Bpe2rHKa><-`6|zhfhrqEa9c+n< z=Wm5ym_?UH)n$@37?K)RG^(W>IjuNHtJ$`P-7RVK4{MsY-?i>6=nk) zsqgJ?hcrtphNDa4G*emr_GM=&qrU?%S_xV&!}`Mj2OukH>&Q+)akM#lCc?+55DF{F zNVm{ytEAK+^p`Vbuhd14iufWT1q)d=ClM?{C9*ob9zAM{J2GzsW2JkEU^pPk-^D{~ zuSz$iykG=fps}`eD$*Wh(|XuWbsfh6nmXyECd|}BChPYIxWNN*CnT?|5v;1cVC&0* zd146uPFjGpt*W*@l~FOiLugM5p9)TiYO2x5Qmgt7i-zos8nLUc6Y3^}EU*YGi|3C- zHr1IXw_8sRUxTV%BU*mMtVw@ z?PZMWJ~h%)e>G;dww+#EIchv)Lx;=y6=U3{oNc5yEnZZiT6CDY)Q-07jp_y|IclKl zF-q%WNRi!0D;q^))Fag(Z#ZaMZNUiRIsv*|-Q5jW#$_~IbpHs$RW+1TeDr9

yk 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-igQW(;j7*gsO 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 literal 156160 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 {uZ{=TN-kG; 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�{d$M?OcI<@2IhqyTIl1r+&TM$!?f zOgdns${qvB9zM2~7njcS7i;QD#=H^o*Fa|n&qw=vH<>yH?>zJI)5m}E_s=~0vV-$J z{LKq*_}Mit+4IGr+$WFy;HO`>`k~uy9_;+j*ZkM6+h6?2um923>%97xUH_idH+6pJ zUB{n#;{EOaQF`{|sXs~Fbmgk-XBxl#+#f7XpFI7Szx+y2e)!M7`>utL{oc^aUwqeB z|L@Cw>-ds){%Fgt-1?W?@K-;$>3x@dWzKN%wLiMzyFcjot(9{I-v{HC;1-E0vazm- zs*-Zj(IHQri3IYRWT%fEdt;)>mvnPeqS0$Y5kJwHXsT;uEWltx3Z>D^T^8gGg_$?c zGYz|Qxs&Mtm!BHplT5%~d8V$f7~rU}NfkxuBj5CC9WPrD)*_5Djx*LyY3!DLN~SbbFpei*eM|W zvt#qSFf;iN4^W1F>n8X#@LxJQI#x9 z&U&aUOa=eLJqDedF(m5e&*^9R0vn+?DEbk7oYRONu#bEN297oLf%ThPuwYmotV%-{ z>R@Bhkeq`Yh;j4W#yWJm4({YSkRe%q7z($!v!kKW@9fYIRGdfW@-_PZ{1z{<(zL8J z{5NN=dfTPXEp1GQ-(C7#<%cU#zTirfFQ|j=KALPBix$}?7D>K^u72qeSHJX#_TWD1 zu#$H-fy3_RKakn$fR*C5x~WkNZE_4eWVhGzh_Y$S6a-iR)(Ju!HF9hD&0v{E`Am+j zY~-FhIp&9Dv~inFmfn*pg2|V7rnPUh8^3;>9!&=$-Tmq8Fwnw_Z<}YpCm{4YTFZ~l z!D1xK*wmHCC(TLEEZ|Rk^T*5OC&W>QZ25URYV5vSF}ta?*n8_3kcNHtFiYxu*!(Hl z0e;eK0L|?;9^qW*C%5Hu8zDHFC3JCR-ikbku!P)NH!T3GwQfR5FaUimv_ga4#aY0C z!3IyZ{~#F{2g)|Ua}x*&Rss`ucK8b#u@Ud2@%p>YjwT&Maz3V<>`Kn(l+n<9$_WAk z$@$EePg5uR1M+9`_GWetVWaRt`qp^nvSWpyt2h>P^#_FlegwVHg&*<`3KOZ}pev0Z zs>UyfL(8DC3p!(r8C-6Rb@x6tx3M1FUV06NRNvx(altf*NMPFKPc)J+_@n^Ih8do8 zYx%RS2Qi_J2Yb6Q2`)C}`MxMPm!q z1nREF6WhRN>n2yWbrZaFSPx8iYX^y0dOx`0$qsQ=I_kk0x}$0>f4dz#1_R=m0e?Yn zCX+jJa57U&Ph+sQbwHUdv(HvFmN^~W zuXAy*`-CBYH^}Wi_x53~W~wg!Zm5gD3nnQyDfZt(?7s^Z#A>29+}UQ9H`d9}(6{E1 zbXvEI-Tg4iz;4E6X_q1tP0k#Ykx~nRoYqZDfSFo1 ztpIb`WOB7Fr932(gq=aNsNT{Okamaxr2G@Mm=xevp&8_wYQ=#>=?OeFL1~KKN9!Ps zC=0AeD00`TArrMj~ z3^vc_4pr^MWiCT>M1xim0-2qnzY*pC^7PPaO0|33ryC8USHKd0t1^(o2SW<|^ za0e<6Ru7d*%c(D(fVU2#g76}|uyrzgJVNX+{`!TUnY%le%?86om<-qllc2}rgYp8ju(L{gTHcT%q!3B}B8;Pfm4Xr-a}LqDJrVDT7;+Q}8l> zmYhOjyBp|ZbqISUn%HSm6MQ^a{T&`iOnq8<45c(yGMA2yCS{k2LT%oB(+K^=bGT&r zZE!xIp&;3%C$Iw`sp05DCBWZ9+z^ZWoajF?1C$s<2SV|~=0tOXd^W$Ou?Y*Doa&`j z6H5j{!F-YS$<;Jy!UyFmI_Tu6VmWW;P=3fVk9BGWS*4^kh~?Ky zK~*})p{s&?Ffcb2u?E|q8p^N7a1yR%NJ%5Lgvk0jKvl`5$E|8!hWXOHncBvLM0&^v zQ`?++EIsbjW9e~GkKu=`pCSrd zCl;H6Ps}I>DEqb zfqWhV60O06C`Okk!w^FrK95*OD1b;=aqAEPgo|B@Fl5lnyY38z`h)!G058Q{=9$j1 zVsYZe4I9n`Lj}REAI^;gaAnUTfw(|D&xQ=QL@&x^Q-!YmsmamNG?e!ho>{d!H*qeX zJ~3A8`sBO1D)PHFZ``(DmKhhBt2RzCJaa z+8W$&{kCmGqsGkl{$G3N@7pvK#PN%piVn0eA*R*?EJ#G5WI%`^ZH*KL(y9q5KP-V8 zTae1BBRdi8R(0w>z{<{6iJ6&yp#K9S8zb=j-iuwkAw?Z4^;LGR&v)nZy}FTKKKCNm zmMc~MU`nDSoTgD>PK8Cz)3mKyTd_B2M!Qe@s5jR9#y+ z>lt_8#lcpBSAudWNcRjM)sv85yQ7bPZ5$;^#cx^7)q|15E=ngmQoYiGCjDDQ8uxV z`6Q&qRg6<;kRhLg6eAz=uubE4;5olO&=_NbkEtb+I93%*17|*pKs3+4j99DLCQ_Fh z&}Y_(W2F^-rxB;c04+UAoR;g)5VAFQhA&I7C*1fRR~u?JxrQ-OQPwg6Vf{y+Enjd` zPS1snI5|@I--g!E7}v)>iNWzqX`c9-;&ae5<2EhUCz{_4_#r+_(0o`JoAdHo)4UdK o&t~^*ZXc=53P!PrZ~xCuFZ!apfhE^r^UkE~qSjaXmplW10UTy7ssI20 diff --git a/HttpBins/HttpServer.pdb b/HttpBins/HttpServer.pdb index f1cfd83f7158a5dd3669271cedc0b7b078eb7207..b1eaaeeb1ac7a5e8f601dc04edc13e63ac20243c 100644 GIT binary patch literal 421376 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

yDwz;jl%eL0qF1c)LyHvl=_c`ae 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

UO`A5I`%1SzX=-im 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 z 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 Q5kwL-Q3*sP@ZU|~U&oikF#rGn diff --git a/HttpBins/HttpServer.xml b/HttpBins/HttpServer.xml index fff737b5..e291a290 100644 --- a/HttpBins/HttpServer.xml +++ b/HttpBins/HttpServer.xml @@ -1,6183 +1,6188 @@ - - - - HttpServer - - - -

- Used to read from a string object. - - - - - Base interface to read string tokens from different sources. - - - - - Assign a new buffer - - Buffer to process. - Where to start process buffer - Buffer length - - - - Assign a new buffer - - Buffer to process - - - - Consume current character. - - - - - Consume specified characters - - One or more characters. - - - - Consumes horizontal white spaces (space and tab). - - - - - Consume horizontal white spaces and the specified character. - - Extra character to consume - - - - Checks if one of the remaining bytes are a specified character. - - Character to find. - true if found; otherwise false. - - - - Read a character. - - Character if not EOF; otherwise null. - - - - Get a text line. - - - Will merge multiline headers. - - - - Read quoted string - - string if current character (in buffer) is a quote; otherwise null. - - - - Read until end of string, or to one of the delimiters are found. - - characters to stop at - A string (can be ). - - Will not consume the delimiter. - - - - - Read until end of string, or to one of the delimiters are found. - - A string (can be ). - - Will not consume the delimiter. - - - - - Read to end of buffer, or until specified delimiter is found. - - Delimiter to find. - A string (can be ). - - Will not consume the delimiter. - - - - - Will read until specified delimiter is found. - - Character to stop at. - A string if the delimiter was found; otherwise null. - - Will trim away spaces and tabs from the end. - Will not consume the delimiter. - - - - - Read until one of the delimiters are found. - - characters to stop at - A string if one of the delimiters was found; otherwise null. - - Will trim away spaces and tabs from the end. - Will not consume the delimiter. - - - - - Read until a horizontal white space occurs. - - A string if a white space was found; otherwise null. - - - - Gets current character - - if end of buffer. - - - - Gets if end of buffer have been reached - - - - - Gets if more bytes can be processed. - - - - - Gets or sets current position in buffer. - - - THINK before you manually change the position since it can blow up - the whole parsing in your face. - - - - - Gets total length of buffer. - - - - - Gets or sets line number. - - - - - Gets next character - - if end of buffer. - - - - Gets number of bytes left. - - - - - Initializes a new instance of the class. - - Buffer to process. - - - - Initializes a new instance of the class. - - - - - Assign a new buffer - - Buffer to process. - Where to start process buffer - Buffer length - MUST be of type . - buffer needs to be of type string - - - - Assign a new buffer - - Buffer to process - MUST be of type . - buffer needs to be of type string - - - - Consume current character. - - - - - Get a text line. - - - Will merge multiline headers. - - - - Read quoted string - - string if current character (in buffer) is a quote; otherwise null. - - - - Read until end of string, or to one of the delimiters are found. - - characters to stop at - A string (can be ). - InvalidOperationException. - - - - Read until end of string, or to one of the delimiters are found. - - A string (can be ). - - Will not consume the delimiter. - - - - - Read to end of buffer, or until specified delimiter is found. - - Delimiter to find. - A string (can be ). - InvalidOperationException. - - - - Consume specified characters - - One or more characters. - - - - Consumes horizontal white spaces (space and tab). - - - - - Read a character. - - - Character if not EOF; otherwise null. - - - - - Will read until specified delimiter is found. - - Character to stop at. - - A string if the delimiter was found; otherwise null. - - - Will trim away spaces and tabs from the end. - Will not consume the delimiter. - - InvalidOperationException. - - - - Read until one of the delimiters are found. - - characters to stop at - - A string if one of the delimiters was found; otherwise null. - - - Will not consume the delimiter. - - InvalidOperationException. - - - - Read until a horizontal white space occurs (or end, or end of line). - - - A string if a white space was found; otherwise null. - - - - - Consume horizontal white spaces and the specified character. - - Extra character to consume - - - - Checks if one of the remaining bytes are a specified character. - - Character to find. - - true if found; otherwise false. - - - - - Gets or sets line number. - - - - - Gets if end of buffer have been reached - - - - - - Gets if more bytes can be processed. - - - - - - Gets next character - - if end of buffer. - - - - Gets current character - - if end of buffer. - - - - Gets or sets current position in buffer. - - - THINK before you manually change the position since it can blow up - the whole parsing in your face. - - - - - Gets total length of buffer. - - - - - - Gets number of bytes left. - - - - - Reads strings from a byte array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Encoding to use when converting byte array to strings. - - - - Initializes a new instance of the class. - - Buffer to read from. - Encoding to use when converting byte array to strings. - - - - Assign a new buffer - - Buffer to process. - Where to start process buffer - Buffer length - Buffer needs to be a byte array - - - - Assign a new buffer - - Buffer to process - Buffer needs to be a byte array - - - - Consume current character. - - - - - Get a text line. - - - Will merge multi line headers. - - - - Read quoted string - - string if current character (in buffer) is a quote; otherwise null. - - - - Read until end of string, or to one of the delimiters are found. - - characters to stop at - - A string (can be ). - - - Will not consume the delimiter. - - InvalidOperationException. - - - - Read until end of string, or to one of the delimiters are found. - - A string (can be ). - - Will not consume the delimiter. - - - - - Read to end of buffer, or until specified delimiter is found. - - Delimiter to find. - - A string (can be ). - - - Will not consume the delimiter. - - InvalidOperationException. - - - - Consume specified characters - - One or more characters. - - - - Consumes horizontal white spaces (space and tab). - - - - - Consume horizontal white spaces and the specified character. - - Extra character to consume - - - - Read a character. - - - Character if not EOF; otherwise null. - - - - - Will read until specified delimiter is found. - - Character to stop at. - - A string if the delimiter was found; otherwise null. - - - Will trim away spaces and tabs from the end. - InvalidOperationException. - - - - Read until one of the delimiters are found. - - characters to stop at - - A string if one of the delimiters was found; otherwise null. - - - Will not consume the delimiter. - - InvalidOperationException. - - - - Read until a horizontal white space occurs. - - A string if a white space was found; otherwise null. - - - - Checks if one of the remaining bytes are a specified character. - - Character to find. - - true if found; otherwise false. - - - - - Gets or sets line number. - - - - - Gets if end of buffer have been reached - - - - - - Gets if more bytes can be processed. - - - - - - Gets next character - - if end of buffer. - - - - Gets current character - - if end of buffer. - - - - Gets or sets current position in buffer. - - - THINK before you manually change the position since it can blow up - the whole parsing in your face. - - - - - Gets total length of buffer. - - - - - - Gets number of bytes left. - - - - - Event arguments used when a new header have been parsed. - - - - - Initializes a new instance of the class. - - Name of header. - Header value. - Name cannot be empty - value is null. - - - - Initializes a new instance of the class. - - - - - Gets or sets header name. - - - - - Gets or sets header value. - - - - - Resource information. - - - Used by content providers to be able to get information - on resources (views, files etc). - - - - - Gets or sets date when resource was modified. - - - if not used. - - - Should always be universal time. - - - - - Gets or sets resource stream. - - - - - Loads resources from a specific location (such as assembly, hard drive etc). - - - - - Checks if a resource exists in the specified directory - - Uri path to resource - true if resource was found; otherwise false. - - - if (resources.Exists("/files/user/user.png")) - Debug.WriteLine("Resource exists."); - - - - - - Find all views in a folder/path. - - Absolute Uri path to files that should be found, can end with wild card. - Collection to add all view names to. - - - - Gets a resource. - - Uri path to resource. - Resource - Uri contains forbidden characters. - - - Resource resource = resources.Get("/files/user/user.png"); - - - - - - Parses Cookie header. - - - - - Used to parse header values - - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Used by to filter out unwanted connections. - - - - - Initializes a new instance of the class. - - The socket. - - - - Gets or sets if socket can be accepted. - - - - - Gets socket. - - - - - Http listener - - - - - Start listener. - - Number of pending accepts. - - Make sure that you are subscribing on first. - - Listener have already been started. - Failed to start socket. - Invalid port number. - - - - Stop listener. - - - - - Gets listener address. - - - - - Gets if listener is secure. - - - - - Gets if listener have been started. - - - - - Gets or sets logger. - - - - - Gets listening port. - - - - - Gets the maximum content size. - - The content length limit. - - Used when responding to 100-continue. - - - - - A new request have been received. - - - - - Can be used to reject certain clients. - - - - - A HTTP exception have been thrown. - - - Fill the body with a user friendly error page, or redirect to somewhere else. - - - - - Collection of files. - - - - - Checks if a file exists. - - Name of the file (form item name) - - - - - Add a new file. - - File to add. - - - - Remove all files from disk. - - - - - Get a file - - Name in form - File if found; otherwise null. - - - - Gets number of files - - - - - Custom network stream to mark sockets as reusable when disposing the stream. - - - - - Creates a new instance of the class for the specified . - - - The that the will use to send and receive data. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - - - - Initializes a new instance of the class for the specified with the specified ownership. - - - The that the will use to send and receive data. - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - the value of the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - - - - Creates a new instance of the class for the specified with the specified access rights. - - - The that the will use to send and receive data. - - - A bitwise combination of the values that specify the type of access given to the over the provided . - - - The parameter is null. - - - The parameter is not connected. - -or- - the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - - - - Creates a new instance of the class for the specified with the specified access rights and the specified ownership. - - - The that the will use to send and receive data. - - - A bitwise combination of the values that specifies the type of access given to the over the provided . - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - - - - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Request sent to a HTTP server. - - - - - - Base interface for request and response. - - - - - Add a new header. - - - - - - - Add a new header. - - Header to add. - - - - Gets body stream. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - - - Kind of content in the body - - Default is text/html - - - - Gets or sets encoding - - - - - Gets headers. - - - - - Get a header - - Type that it should be cast to - Name of header - Header if found and casted properly; otherwise null. - - - - Gets or sets connection header. - - - - - Gets cookies. - - - - - Gets all uploaded files. - - - - - Gets form parameters. - - - - - Gets or sets HTTP version. - - - - - Gets if request is an Ajax request. - - - - - Gets or sets HTTP method. - - - - - Gets query string and form parameters - - - - - Gets query string. - - - - - Gets requested URI. - - - - - Serves files in the web server. - - - - FileModule fileModule = new FileModule(); - fileModule.Resources.Add(new FileResources("/", "C:\\inetpub\\myweb")); - - - - - - HTTP Module - - - - - Process a request. - - Request information - What to do next. - - - - Initializes a new instance of the class. - - baseUri or basePath is null. - - - - Mime types that this class can handle per default - - - Contains the following mime types: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Will send a file to client. - - HTTP context containing outbound stream. - Response containing headers. - File stream - - - - Process a request. - - Request information - What to do next. - Failed to find file extension - Forbidden file type. - - - - Gets a list with all allowed content types. - - All other mime types will result in . - - - - Gets provider used to add files to the file manager, - - - - - An exception that can't be handled by the library have been thrown. - - - - - Initializes a new instance of the class. - - The exception. - - - - Gets caught exception. - - - - - Helper for content types. - - - - - Decodes forms that have multiple sections. - - - http://www.faqs.org/rfcs/rfc1867.html - - - - - Decodes body stream. - - - - - Decode body stream - - Stream containing the content - Content type header - Stream encoding - Decoded data. - Body format is invalid for the specified content type. - Something unexpected failed. - - - - All content types that the decoder can parse. - - A collection of all content types that the decoder can handle. - - - - form-data - - - - - multipart/form-data - - - - - Decode body stream - - Stream containing the content - Content type header - Stream encoding - Decoded data. - Body format is invalid for the specified content type. - Something unexpected failed. - stream is null. - - - - All content types that the decoder can parse. - - A collection of all content types that the decoder can handle. - - - - A HTTP parser using delegates to which parsing methods. - - - - - Initializes a new instance of the class. - - - - - Parser method to copy all body bytes. - - - Needed since a TCP packet can contain multiple messages - after each other, or partial messages. - - - - Try to find a header name. - - - - - - Get header values. - - - Will also look for multi header values and automatically merge them to one line. - Content length is not a number. - - - - Toggle body bytes event. - - - - - - - - Raise the event, since we have successfully parsed a message and it's body. - - - - - First message line. - - Will always contain three elements. - Used to raise the or event - depending on the words in the array. - BadRequestException. - - - - Continue parsing a message - - Byte buffer containing bytes - Where to start the parsing - Number of bytes to parse - index where the parsing stopped. - Parsing failed. - - - - Parses the first line in a request/response. - - true if first line is well formatted; otherwise false. - Invalid request/response line. - - - - Reset parser to initial state. - - - - - Gets or sets current line number. - - - - - The request line has been parsed. - - - - - Response line has been parsed. - - - - - Parsed a header. - - - - - Received body bytes. - - - - - A message have been successfully parsed. - - - - - Used to be able to quickly swap parser method. - - - - - - Default log filter implementation. - - - - - Determines which classes can log - - - - - Checks if the specified type can send - log entries at the specified level. - - Log level - Type that want to write a log entry. - true if logging is allowed; otherwise false. - - - - Add a name space filter. - - Name space to add filter for. - Minimum log level required. - - - // Parsing can only add error and fatal messages - AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error); - AddType(typeof(SipParser), LogLevel.Error); - - // Transport layer can only log warnings, errors and fatal messages - AddNamespace("SipSharp.Transports.*", LogLevel.Warning); - - - - - - Used to specify standard filter rules - - - Parser can only display errors. Transports only warnings. - - - - - Add filter for a type - - Type to add filter for. - Minimum log level required. - - - // Parsing can only add error and fatal messages - AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error); - AddType(typeof(SipParser), LogLevel.Error); - - // Transport layer can only log warnings, errors and fatal messages - AddNamespace("SipSharp.Transports.*", LogLevel.Warning); - - - - - - Add filter for a type - - Type to add filter for. - Minimum log level required. - - - // Parsing can only add error and fatal messages - AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error); - AddType("SipSharp.Messages.MessageFactory", LogLevel.Error); - - // Transport layer can only log warnings, errors and fatal messages - AddNamespace("SipSharp.Transports.*", LogLevel.Warning); - - - Type could not be identified. - - - - Checks if the specified type can send - log entries at the specified level. - - Log level - Type that want to write a log entry. - true if logging is allowed; otherwise false. - - - No filters = everything logged. = no logs. Don't use a rule with '*' or '.*' - - - - User have specified a wild card filter. - - - Wild card filters are used to log a name space and - all it's children name spaces. - - - - - Factory implementation used to create logs. - - - - - Create a new logger. - - Type that requested a logger. - Logger for the specified type; - - MUST ALWAYS return a logger. Return if no logging - should be used. - - - - - Response to a request. - - - - - Redirect user. - - Where to redirect to. - - Any modifications after a redirect will be ignored. - - - - - Gets connection type. - - - - - Gets cookies. - - - - - Gets HTTP version. - - - Default is HTTP/1.1 - - - - - Information about why a specific status code was used. - - - - - Status code that is sent to the client. - - Default is - - - - Gets or sets content type - - - - - Rules are used to perform operations before a request is being handled. - Rules can be used to create routing etc. - - - - - Process the incoming request. - - Request context information. - Processing result. - If any parameter is null. - - - - Used to access resources. - - - - - Add a new resource loader. - - Provider to add. - Manager have been started. - - - - Check if a resource exists. - - Uri to check - true if found; otherwise false. - - - if (manager.Exists("/views/user/view.haml")) - return true - - - - - - Get a resource. - - Uri path to resource. - Resource if found; otherwise null. - - - Resource resource = manager.Get("/views/user/view.haml"); - - - - - - Start manager. - - - - - Gets number of resource providers - - - - - Parses "Date" header. - - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Content-type - - - - - Header in a message - - - Important! Each header should override ToString() - and return it's data correctly formatted as a HTTP header value. - - - - - Gets header name - - - - - Gets value as it would be sent back to client. - - - - - Header name. - - - - - Initializes a new instance of the class. - - Type of the content. - Value parameters. - - - - Initializes a new instance of the class. - - Type of the content. - - - - Returns data formatted as a HTTP header value. - - - A that represents the current . - - - - - Gets all parameters. - - - - - Gets content type. - - - - - Gets header name - - - - - Used to get or set properties on objects. - - - This class should be a bit faster than the standard reflection. - - - - - Get cached type. - - Type to get/set properties in - Type to use - - - - Flyweight design pattern implementation. - - Type of object. - - - - Initializes a new instance of the class. - - How large buffers to allocate. - - - - Get an object. - - Created object. - Will create one if queue is empty. - - - - Enqueues the specified buffer. - - Object to enqueue. - Buffer is is less than the minimum requirement. - - - - Used to create new objects. - - Type of objects to create. - Newly created object. - . - - - - Used to load/store sessions in the server. - - - - - Initializes a new instance of the class. - - Web server that the provider is for.. - Store to use. - - - - Initializes a new instance of the class. - - The server. - - Uses a file store. - - - - - Loads a session for all requests that got the session cookie. - - The sender. - The instance containing the event data. - - - - Gets current session - - Session if set, otherwise null. - - - - Gets or sets the session life time in minutes. - - The session life time. - - - - A session have been loaded. Use to access it. - - - - - Used to build headers. - - - - - Add a parser - - Header that the parser is for. - Parser implementation - - Will replace any existing parser for the specified header. - - - - - Add all default (built-in) parsers. - - - Will not replace previously added parsers. - - - - - Create a header parser - - implementation. - - - Uses attribute to find which headers - the parser is for. - - Will not replace previously added parsers. - - - - - Parse a header. - - Name of header - Header value - Header. - Value is not a well formatted header value. - - - - Arguments used when more body bytes have come. - - - - - Initializes a new instance of the class. - - buffer that contains the received bytes. - offset in buffer where to start processing. - number of bytes from that should be parsed. - buffer is null. - - - - Initializes a new instance of the class. - - - - - Gets or sets buffer that contains the received bytes. - - - - - Gets or sets number of bytes from that should be parsed. - - - - - Gets or sets offset in buffer where to start processing. - - - - - redirects from one URL to another. - - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - - server.Add(new RedirectRule("/", "/user/index")); - - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - true if request should be redirected, false if the request URI should be replaced. - - server.Add(new RedirectRule("/", "/user/index")); - - - - - Process the incoming request. - - Request context. - Processing result. - If any parameter is null. - - - - Gets string to match request URI with. - - Is compared to request.Uri.AbsolutePath - - - - Gets whether the server should redirect the client instead of simply modifying the URI. - - - false means that the rule will replace - the current request URI with the new one from this class. - true means that a redirect response is sent to the client. - - - - - Gets where to redirect. - - - - - cookie sent by the client/browser - - - - - - Constructor. - - cookie identifier - cookie content - id or content is null - id is empty - - - - Gets the cookie HTML representation. - - cookie string - - - - Gets the cookie identifier. - - - - - Gets value. - - - Set to null to remove cookie. - - - - - A request have been parsed successfully by the server. - - - - - Initializes a new instance of the class. - - Received request. - - - - Gets received request. - - - - - Context that received a HTTP request. - - - - - Disconnect context. - - - - - Gets if current context is using a secure connection. - - - - - Gets logger. - - - - - Gets remote end point - - - - - Gets stream used to send/receive data to/from remote end point. - - - - The stream can be any type of stream, do not assume that it's a network - stream. For instance, it can be a or a ZipStream. - - - - - - Gets the currently handled request - - The request. - - - - Gets the response that is going to be sent back - - The response. - - - - File sent from remote end. - - - - - Gets or sets content type. - - - - - Gets or sets name in form. - - - - - Gets or sets name original file name - - - - - Gets or sets filename for locally stored file. - - - - - Client X.509 certificate, X.509 chain, and any SSL policy errors encountered - during the SSL stream creation - - - - - Initializes a new instance of the class. - - The certificate. - Client security certificate chain. - Any SSL policy errors encountered during the SSL stream creation. - - - - Client security certificate - - - - - Client security certificate chain - - - - - Any SSL policy errors encountered during the SSL stream creation - - - - - Provides sessions. - - Type of session object - - Will always use files for sessions (utilizing the binary formatter), but can - also cache them in memory. - - If caching is enabled, it will only write sessions to disk every 20 seconds if they have - been accessed the last minute (to not keep writing dead sessions to disk). - - - - - - Initializes a new instance of the class. - - Session type must use [Serializable] attribute. - - - - Create a new session. - - - - - - Load session - - Id of session. - Session if found; otherwise null. - sessionId is null. - - - - Load session when a new request comes in. - - - - - - - Save a session to disk. - - Session to write to disk. - - You are responsible for writing sessions to disk if you are not using caching. - - - - - Start the session system and hook - - - - - - Stop session handling - - - - - Gets or sets session cookie name - - - - - Gets or sets cache - - - - - Gets current session. - - - - - Gets or sets number of seconds before a session expired. - - - A session have expired if nothing have accessed it for X seconds. This - class modifies the write time each time it's accessed. - - - - - Determines if cookie should be set in the response. - - - - - Invoked when a session have been changed and should be written to disc. - - - - - Base class for sessions. - - - Your class must be tagged with attribute to be able to use sessions. - - - - - The session have been changed and should be written to disk. - - - - - Session have been changed. - - - - - Gets or sets when session was accessed last - - - - - Gets current session. - - - - - Gets or sets session id. - - - - - Gets or sets when the session was last written to disk. - - - - - Used when the request line have been successfully parsed. - - - - - Initializes a new instance of the class. - - The HTTP method. - The URI path. - The HTTP version. - - - - Initializes a new instance of the class. - - - - - Gets or sets HTTP method. - - - Should be one of the methods declared in . - - - - - Gets or sets requested URI path. - - - - - Gets or sets the version of the SIP protocol that the client want to use. - - - - - cookie being sent back to the browser. - - - - - - Constructor. - - cookie identifier - cookie content - cookie expiration date. Use for session cookie. - id or content is null - id is empty - - - - Create a new cookie - - name identifying the cookie - cookie value - when the cookie expires. Setting will delete the cookie when the session is closed. - Path to where the cookie is valid - Domain that the cookie is valid for. - - - - Create a new cookie - - Name and value will be used - when the cookie expires. - - - - Gets the cookie HTML representation. - - cookie string - - - - Gets when the cookie expires. - - means that the cookie expires when the session do so. - - - - Gets path that the cookie is valid under. - - - - - Used to define which headers a parse is for. - - - - - Initializes a new instance of the class. - - Name of the header. - - - - Gets name of header that this parser is for. - - - - - Collection of headers. - - - - - Gets a header - - header name. - header if found; otherwise null. - - - - Something failed during parsing. - - - - - Request couldn't be parsed successfully. - - - - - Exception thrown from HTTP server. - - - - - Initializes a new instance of the class. - - HTTP status code. - Exception description. - - - - Initializes a new instance of the class. - - HTTP status code. - Exception description. - Inner exception. - - - - Gets HTTP status code. - - - - - Initializes a new instance of the class. - - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - Inner exception. - - - - Provides resources. - - - - - Get all view names from a folder. - - Path to find views in. - A collection of view names (without path). - - - - Add a new resource loader. - - Provider to add. - Manager have been started. - - - - Start manager. - - - - - Check if a resource exists. - - Uri to check - true if found; otherwise false. - - - if (manager.Exists("/views/user/view.haml")) - return true - - - - - - Get a resource. - - Uri path to resource. - Resource if found; otherwise null. - - - Resource resource = manager.Get("/views/user/view.haml"); - - - - - - Gets number of resource providers - - - - - Collection of parameters. - - - or is not used since each parameter can - have multiple values. - - - - - Collection of parameters - - - - - Get a parameter. - - - - - - - Add a query string parameter. - - Parameter name - Value - - - - Checks if the specified parameter exists - - Parameter name. - true if found; otherwise false; - - - - Gets number of parameters. - - - - - Gets last value of an parameter. - - Parameter name - String if found; otherwise null. - - - - Initializes a new instance of the class. - - Collections to merge. - - Later collections will overwrite parameters from earlier collections. - - - - - Initializes a new instance of the class. - - - - - Get a list of string arrays. - - - - - - Get parameters - - Sub array (text array) - - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Get a parameter. - - - - - - - Add a query string parameter. - - Parameter name - Value - - - - Checks if the specified parameter exists - - Parameter name. - true if found; otherwise false; - - - - Gets number of parameters. - - - - - Gets last value of an parameter. - - Parameter name - String if found; otherwise null. - - - - Result of processing. - - - - - Continue with the next handler - - - - - No more handlers can process the request. - - - The server will process the response object and - generate a HTTP response from it. - - - - - Response have been sent back by the handler. - - - This option should only be used if you are streaming - something or sending back a custom result. The server will - not process the response object or send anything back - to the client. - - - - - A HTTP context - - - - - - - - Initializes a new instance of the class. - - Socket received from HTTP listener. - Context used to parse incoming messages. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Disconnect context. - - - - - Close and release socket. - - - - - Create stream used to send and receive bytes from the socket. - - Socket to wrap - Stream - Stream could not be created. - - - - Interpret incoming data. - - - - - - A request was received from the parser. - - - - - - - Parse all complete requests in buffer. - - - offset in buffer where parsing stopped. - Parsing failed. - - - - Start content. - - A socket operation failed. - Reading from stream failed. - - - - Gets currently executing HTTP context. - - - - - Gets or sets description - - - - - gets factory used to build request objects - - - - - Gets socket - - - - - Gets remove end point - - - - - Gets network stream. - - - - - Gets the currently handled request - - The request. - - - - Gets the response that is going to be sent back - - The response. - - - - Gets logger. - - - - - Gets if current context is using a secure connection. - - - - - Triggered for all requests in the server (after the response have been sent) - - - - - Triggered for current request (after the response have been sent) - - - - - A new request have been received. - - - - - A new request have been received (invoked for ALL requests) - - - - - Client have been disconnected. - - - - - Client asks if he may continue. - - - If the body is too large or anything like that you should respond . - - - - - Used to store all headers that that aren't recognized. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets or sets value - - - - - Gets header name - - - - - The Connection general-header field allows the sender to specify options - that are desired for that particular connection and MUST NOT be - communicated by proxies over further connections. - - - - HTTP/1.1 proxies MUST parse the Connection header field before a - message is forwarded and, for each connection-token in this field, - remove any header field(s) from the message with the same name as the - connection-token. Connection options are signaled by the presence of - a connection-token in the Connection header field, not by any - corresponding additional header field(s), since the additional header - field may not be sent if there are no parameters associated with that - connection option. - - Message headers listed in the Connection header MUST NOT include - end-to-end headers, such as Cache-Control. - - HTTP/1.1 defines the "close" connection option for the sender to - signal that the connection will be closed after completion of the - response. For example, - - Connection: close - - in either the request or the response header fields indicates that - the connection SHOULD NOT be considered `persistent' (section 8.1) - after the current request/response is complete. - - HTTP/1.1 applications that do not support persistent connections MUST - include the "close" connection option in every message. - - A system receiving an HTTP/1.0 (or lower-version) message that - includes a Connection header MUST, for each connection-token in this - field, remove and ignore any header field(s) from the message with - the same name as the connection-token. This protects against mistaken - forwarding of such header fields by pre-HTTP/1.1 proxies. See section - 19.6.2 in RFC2616. - - - - - - Header name - - - - - Default connection header for HTTP/1.0 - - - - - Default connection header for HTTP/1.1 - - - - - Initializes a new instance of the class. - - Connection type. - The parameters. - - - - Initializes a new instance of the class. - - The type. - - - - Returns data formatted as a HTTP header value. - - - A that represents the current . - - - - - Gets connection parameters. - - - - - Gets or sets connection type - - - - - Gets header name - - - - - Type of HTTP connection - - - - - Connection is closed after each request-response - - - - - Connection is kept alive for X seconds (unless another request have been made) - - - - - Parameter in - - - - - Gets *last* value. - - - Parameters can have multiple values. This property will always get the last value in the list. - - String if any value exist; otherwise null. - - - - Gets or sets name. - - - - - Gets a list of all values. - - - - - A parameter in . - - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Gets last value. - - - Parameters can have multiple values. This property will always get the last value in the list. - - String if any value exist; otherwise null. - - - - Gets or sets name. - - - - - Gets a list of all values. - - - - - Secure version of the HTTP listener. - - - - - Http listener. - - - - - Initializes a new instance of the class. - - The address. - The port. - - - - Initializes a new instance of the class. - - The address. - The port. - The HTTP factory. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Created HTTP listener. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Factory used to create different types in the framework. - Created HTTP listener. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - Created HTTP listener. - - - - Create a new context - - Accepted socket - A new context. - - - Throwing exception if in debug mode and not exception handler have been specified. - - - - Start listener. - - Number of pending accepts. - - Make sure that you are subscribing on first. - - Listener have already been started. - Failed to start socket. - Invalid port number. - - - - Stop listener. - - - - - Gets HTTP factory used to create types used by this HTTP library. - - - - - Gets or sets the maximum number of bytes that the request body can contain. - - The content length limit. - - - Used when responding to 100-continue. - - - 0 = turned off. - - - - - - Gets listener address. - - - - - Gets if listener is secure. - - - - - Gets if listener have been started. - - - - - Gets or sets logger. - - - - - Gets listening port. - - - - - A new request have been received. - - - - - Can be used to reject certain clients. - - - - - A HTTP exception have been thrown. - - - Fill the body with a user friendly error page, or redirect to somewhere else. - - - - - Client asks if he may continue. - - - If the body is too large or anything like that you should respond . - - - - - Initializes a new instance of the class. - - Address to accept new connections on. - Port to accept connections on. - Certificate securing the connection. - - - - Create a new context - - Accepted socket - A new context. - - Factory is assigned by the on each incoming request. - - - - - Gets if listener is secure. - - - - - - Gets or sets SSL protocol. - - - - - Gets or sets if client certificate should be used. - - - - - A response have been received. - - - - - Initializes a new instance of the class. - - The response. - - - - Gets or sets response. - - - - - Implements HTTP Digest authentication. It's more secure than Basic auth since password is - encrypted with a "key" from the server. - - - Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. - - - - - Authenticates requests - - - - - Authenticate request - - Authorization header send by web client - Realm to authenticate in, typically a domain name. - HTTP Verb used in the request. - User if authentication was successful; otherwise null. - - - - Create a authentication challenge. - - Realm that the user should authenticate in - A WWW-Authenticate header. - If realm is empty or null. - - - - Gets authenticator scheme - - - digest - - - - - Initializes a new instance of the class. - - Supplies users during authentication process. - - - - Used by test classes to be able to use hardcoded values - - - - - An authentication response have been received from the web browser. - Check if it's correct - - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - - Authentication object that is stored for the request. A user class or something like that. - - if authenticationHeader is invalid - If any of the parameters is empty or null. - - - - Encrypts parameters into a Digest string - - Realm that the user want to log into. - User logging in - Users password. - HTTP method. - Uri/domain that generated the login prompt. - Quality of Protection. - "Number used ONCE" - Hexadecimal request counter. - "Client Number used ONCE" - Digest encrypted string - - - - - - Md5 hex encoded "userName:realm:password", without the quotes. - Md5 hex encoded "method:uri", without the quotes - Quality of Protection - "Number used ONCE" - Hexadecimal request counter. - Client number used once - - - - - Create a authentication challenge. - - Realm that the user should authenticate in - A correct auth request. - If realm is empty or null. - - - - Gets the current nonce. - - - - - - Gets the Md5 hash bin hex2. - - To be hashed. - - - - - determines if the nonce is valid or has expired. - - nonce value (check wikipedia for info) - true if the nonce has not expired. - - - - Gets authentication scheme name - - - - - Gets authenticator scheme - - - - digest - - - - - Session in the system - - - - - Gets or sets session id. - - - - - Factory creating null logger. - - - - - Initializes a new instance of the class. - - - - - Create a new logger. - - Type that requested a logger. - Logger for the specified type; - - MUST ALWAYS return a logger. Return if no logging - should be used. - - - - - Logger instance. - - - - - HTTP methods. - - - - - Unknown method - - - - - Posting data - - - - - Get data - - - - - Update data - - - - - Remove data - - - - - Get only HTTP headers. - - - - - Options HTTP 1.1 header. - - - - - Parses . - - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Request couldn't be parsed successfully. - - - - - Initializes a new instance of the class. - - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - Exception description. - - - - Arguments for . - - - - - Initializes a new instance of the class. - - The context. - - - - Gets or sets thrown exception - - - - - Gets or sets if error page was provided. - - - - - Gets requested resource. - - - - - Gets response to send - - - - - Convention over configuration server. - - - Used to make it easy to create and use a web server. - - All resources must exist in the "YourProject.Content" namespace (or a subdirectory called "Content" relative to yourapp.exe). - - - - - - Http server. - - - - - Initializes a new instance of the class. - - Factory used to create objects used in this library. - - - - Initializes a new instance of the class. - - - - - Add a decoder. - - decoder to add - - Adding zero decoders will make the server add the - default ones which is and . - - - - - Add a new router. - - Router to add - Server have been started. - - - - Add a file module - - Module to add - module is null. - Cannot add modules when server have been started. - - - - Add a HTTP listener. - - - Listener have been started. - - - - An error have occurred and we need to send a result pack to the client - - The context. - The exception. - - Invoke base class () to send the contents - of . - - - - - Called before anything else. - - The context. - - Looks after a in the request and will - use the if found. - - - - - All server modules are about to be invoked. - - The context. - - Called when routers have been invoked but no modules yet. - - - - - A request have arrived but not yet been processed yet. - - The context. - - Default implementation adds a Date header and Server header. - - - - - Go through all modules and check if any of them can handle the current request. - - - - - - - Process result (check if it should be sent back or not) - - - - true if request was processed properly.; otherwise false. - - - - Processes all routers. - - Request context. - Processing result. - - - - Requests authentication from the user. - - Host/domain name that the server hosts. - - Used when calculating hashes in Digest authentication. - - - - - - - Send a response. - - - - - - - - Start http server. - - Number of pending connections. - - - - Stops the server - - true if all modules should be removed. - - - - Gets the authentication provider. - - - A authentication provider is used to keep track of all authentication types - that can be used. - - - - - Gets or sets number of bytes that a body can be. - - - - Used to determine the answer to a 100-continue request. - - - 0 = turned off. - - - - - - Gets current server. - - - Only valid when a request have been received and is being processed. - - - - - Gets or sets the maximum size of request body (in bytes) - - - - - Gets or sets server name. - - - Used in the "Server" header when serving requests. - - - - - Invoked just before a response is sent back to the client. - - - - - Invoked *after* the web server has tried to handled the request. - - - The event can be used to handle the request after all routes and modules - have tried to process the request. - - - - - Invoked *before* the web server has tried to handled the request. - - - Event can be used to load a session from a cookie or to force - authentication or anything other you might need t do before a request - is handled. - - - - - An error page have been requested. - - - - - Initializes a new instance of the class. - - - - - Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules - a regular expression can be used to identify redirect URLs and their targets. - - - [a-z0-9]+)", "/users/${target}/?find=true", RegexOptions.IgnoreCase) - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - - [a-zA-Z0-9]+)", "/user/${first}")); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - Regular expression options to use, can be null - - [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - Regular expression options to apply - true if request should be redirected, false if the request URI should be replaced. - - [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - Argument is null. - - - - - Process the incoming request. - - Request context. - Processing result. - If any parameter is null. - - - - Load resources from disk. - - - - - Default forbidden characters. - - - - - relative to absolute path mappings. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Request URI path - Disk path - - File names should not be included in URI or path. - - - - new FileResources("/files/user/", "C:\\intetpub\\files\users\\"); - - - - - - Add a new resource mapping. - - Request URI path - Disk path - - File names should not be included in URI or path. - - - - resources.Add("/files/", "C:\\intetpub\\files\\"); - - - absolutePath is not found. - - - - check if source contains any of the chars. - - string to check - Characters to fined - - - - - Go through all mappings and find requested Uri. - - Uri to get local path for. - Path if found; otherwise null. - - - - Checks if a resource exists in the specified directory - - Uri path to resource - true if resource was found; otherwise false. - - - if (resources.Exists("/files/user/user.png")) - Debug.WriteLine("Resource exists."); - - - - - - Gets a resource. - - Uri path to resource. - Resource - Uri contains forbidden characters. - - - Resource resource = resources.Get("/files/user/user.png"); - - - - - - Find all views in a folder/path. - - Absolute Uri path to files that should be found, can end with wild card. - Collection to add all view names to. - Uri contains forbidden characters. - - Find(" - - - - - Gets or sets forbidden characters. - - - Used to revoke access to any system files. - - - - - Gets or sets absolute path on disk, including file name. - - - - - Gets or sets relative file path. - - - - - Gets or sets Uri path, excluding file name - - - - - Used to send a response back to the client. - - - - Writes a object into a stream. - - - Important! ResponseWriter do not throw any exceptions. Instead it just logs them and - let them die peacefully. This is since the response writer is used from - catch blocks here and there. - - - - - - Sends response using the specified context. - - The context. - The response. - - - - Converts and sends a string. - - - - Encoding used to transfer string - - - - Send a body to the client - - Context containing the stream to use. - Body to send - - - - Send all headers to the client - - Response containing call headers. - Content used to send headers. - - - - Parses . - - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Collection of headers. - - - - - Initializes a new instance of the class. - - Factory used to created headers. - - - - Adds a header - - - Will replace any existing header with the same name. - - header to add - header is null. - Header name cannot be null. - - - - Add a header. - - Header name - Header value - - Will try to parse the header and create a object. - - Header value is not correctly formatted. - name or value is null. - - - - Add a header. - - Header name - Header value - - Will try to parse the header and create a object. - - name or value is null. - - - - Get a header - - Type that it should be cast to - Name of header - Header if found and casted properly; otherwise null. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Gets a header - - header name. - header if found; otherwise null. - - - - Used to authenticate users - - - Authentication is requested by throwing - - - - - Implements basic authentication scheme. - - - - - Create a response that can be sent in the WWW-Authenticate header. - - Realm that the user should authenticate in - Not used by basic authentication - A WWW-Authenticate header. - Argument is null. - - - - An authentication response have been received from the web browser. - Check if it's correct - - Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - Authentication object that is stored for the request. A user class or something like that. - if authenticationHeader is invalid - If any of the paramters is empty or null. - - - - Gets authenticator scheme - - - - digest - - - - - Request implementation. - - - - - Initializes a new instance of the class. - - The method. - The path. - The version. - - - - Get a header - - Type that it should be cast to - Name of header - Header if found and casted properly; otherwise null. - - - - Add a new header. - - - - - - - Add a new header. - - Header to add. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Gets a header. - - - - - - - Gets request URI. - - - - - Gets cookies. - - - - - Gets all uploaded files. - - - - - Gets query string and form parameters - - - - - Gets form parameters. - - - - - Gets query string. - - - - - Gets if request is an Ajax request. - - - - - Gets or sets connection header. - - - - - Gets or sets HTTP version. - - - - - Gets or sets HTTP method. - - - - - Gets requested URI. - - - - - Kind of content in the body - - Default is text/html - - - - Gets or sets encoding - - - - - Gets headers. - - - - - Gets body stream. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - Any specifically assigned value or Body stream length. - - - - - Initializes a new instance of the class. - - SSL protocol to use. - The socket. - The context. - Server certificate to use. - - - - Create stream used to send and receive bytes from the socket. - - Socket to wrap - Stream - Stream could not be created. - - - - Gets or sets client certificate. - - - - - Gets used protocol. - - - - - Gets or sets if client certificate should be used instead of server certificate. - - - - - A list of request cookies. - - - - - Let's copy all the cookies. - - value from cookie header. - - - - Initializes a new instance of the class. - - - - - Adds a cookie in the collection. - - cookie to add - cookie is null - Name must be specified. - - - - Remove all cookies. - - - - - Remove a cookie from the collection. - - Name of cookie. - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier (null if not existing). - - - - - Parses query string - - - - - Parse a query string - - string to parse - A collection - reader is null. - - - - Parse a query string - - string to parse - A collection - queryString is null. - - - - Stores sessions in files. - - - All session parameters must be serializable. - - - - - Stores sessions in your favorite store - - - - - - - - Saves the specified session. - - The session. - - - - Touches the specified session - - Session id. - - Used to prevent sessions from expiring. - - - - - Loads a session - - Session id. - Session if found; otherwise null. - - - - Delete a session - - Id of session - - - - Saves the specified session. - - The session. - - - - Touches the specified session - - Session id. - - Used to prevent sessions from expiring. - - - - - Loads a session - - Session id. - Session if found; otherwise null. - - - - Create a HTTP response object. - - - - - Initializes a new instance of the class. - - HTTP Version. - HTTP status code. - Why the status code was selected. - Version must start with 'HTTP/' - - - - Initializes a new instance of the class. - - Context that the response will be sent through. - Request that the response is for. - Version must start with 'HTTP/' - - - - Redirect user. - - Where to redirect to. - - Any modifications after a redirect will be ignored. - - - - - Add a new header. - - - - - - - Add a new header. - - Header to add. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Gets a header. - - - - - - - Gets connection type. - - - - - Status code that is sent to the client. - - Default is - - - - Gets HTTP version. - - - Default is HTTP/1.1 - - - - - Information about why a specific status code was used. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - Any specifically assigned value or Body stream length. - - - - - Kind of content in the body - - Default is text/html - - - - Gets or sets encoding - - - - - Gets cookies. - - - - - Gets body stream. - - - - - Gets headers. - - - - - Loads resources that are embedded in assemblies. - - - No locks used internally since all mappings are loaded during start up. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Path (Uri) requested by clients - Assembly that the resources exist in - Name space that the resources exist in - - - - Add a specific resource. - - Path (Uri) requested by clients - Assembly that the resources exist in - Name space to root folder under (all name spaces below the specified one are considered as folders) - Name space and name of resource. - - - Add("/", Assembly.GetExecutingAssembly(), "MyApplication.Files", "Myapplication.Files.Images.MyImage.png"); - - - - - - Add resources. - - Path (Uri) requested by clients - Assembly that the resources exist in - Name of resource, including name space. - true if file was found (and has not previously been added); otherwise false. - - - - - - Add resources in a specific path (will not work with sub folders) - - Path (Uri) requested by clients - Assembly that the resources exist in - Name space to root folder under which all name spaces exists in, - true if any files was found; otherwise false. - - - Adds all views in the specified folder. Sub folders are not supported since it's hard to determine - with parts are the path and witch parts are the filename. Use to get support - for sub folders. - - - - - Add("/user/", typeof(MyController).Assembly, "YourProject.Users.Views"); - - - - - - Add resources in a folder and it's sub folder - - - - - - This method is not going to map files but keep the mapping and - try to look up views every time they are requested. This is the method - to use to add a resource folder that has sub folders. - - - - - - Tries to load file by using previously added paths. - - Uri path including file name - - - - - Checks if a resource exists in the specified directory - - Uri path to resource - true if resource was found; otherwise false. - - - if (resources.Exists("/files/user/user.png")) - Debug.WriteLine("Resource exists."); - - - - - - Load a resource. - - Uri of resource. - Resource if found and loaded; otherwise null. - - - - Find all views in a folder/path. - - Uri path - Collection to add all view names to. - - - - Loads all files in a resource directory - - - - - - Gets or sets assembly that the resource exists in. - - - - - Gets or sets resource name. - - - - - Gets or sets full name space path to resource. - - - - - Gets or sets if this file is for a certain content type. - - - - - Gets or sets full "virtual" Uri path, excluding file name. - - - - - Gets or sets assembly - - - - - Gets or sets name space root. - - - - - Gets or sets uri path. - - - - - Something unexpected went wrong. - - - - - Initializes a new instance of the class. - - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - Inner exception. - - - - Decodes URL encoded values. - - - - - - - Stream containing the content - Content type header - Stream encoding - Collection with all parameters. - Body format is invalid for the specified content type. - Failed to read all bytes from body stream. - - - - All content types that the decoder can parse. - - A collection of all content types that the decoder can handle. - - - - Parses and builds messages - - - The message factory takes care of building messages - from all end points. - - Since both message and packet protocols are used, the factory - hands out contexts to all end points. The context keeps a state - to be able to parse partial messages properly. - - - Each end point need to hand the context back to the message factory - when the client disconnects (or a message have been parsed). - - - - - - Initializes a new instance of the class. - - Factory used to create headers. - - - - Create a new message factory context. - - A new context. - - A context is used to parse messages from a specific endpoint. - - - - - Release a used factory context. - - - - - - A request have been received from one of the end points. - - - - - A response have been received from one of the end points. - - - - - Priority for log entries - - - - - - Very detailed logs to be able to follow the flow of the program. - - - - - Logs to help debug errors in the application - - - - - Information to be able to keep track of state changes etc. - - - - - Something did not go as we expected, but it's no problem. - - - - - Something that should not fail failed, but we can still keep - on going. - - - - - Something failed, and we cannot handle it properly. - - - - - Parses . - - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Form parameters where form string arrays have been converted to real arrays. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - Parse parameters from the this collection. - - - - Get a parameter. - - - - - - - Add a parameter - - Name of parameter, can contain a string array. - Value - - - ArrayParameterCollection array = new ArrayParameterCollection(); - array.Add("user[FirstName]", "Jonas"); - array.Add("user[FirstName]", "Arne"); - string firstName = array["user"]["FirstName"].Value; // "Arne" is returned - foreach (string value in array["user"]["FirstName"]) - Console.WriteLine(value); // each name is displayed. - - - - - - Checks if the specified parameter exists - - Parameter name. - true if found; otherwise false; - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Gets first value of an item. - - - String if found; otherwise null. - - - - Gets number of parameters. - - - - - Gets last value of an parameter. - - Parameter name - String if found; otherwise null. - - - - Assign properties from HTTP parameters. - - - - - Used to filter out properties. - - Filter handler. - Handler have already been set. - - - - Assign properties in the specified object. - - Object to fill. - Contains all parameters that should be assigned to the properties. - Properties was not found or value could not be converted. - Any parameter is null. - - - - Used to be able to filter properties - - Model having it's properties assigned - Property about to be assigned - Value to assign - true if value can be set; otherwise false. - - - - Failed to assign properties. - - - - - Initializes a new instance of the class. - - The property errors. - - - - Gets all errors during assignment. - - - Dictionary key is property name. - - - - - Requested resource may not be accessed. - - - Normally thrown after an authentication attempt have failed too many times. - - - - - - Initializes a new instance of the class. - - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - Inner exception. - - - - User needs to authenticate. - - - - - - - Initializes a new instance of the class. - - Exception description. - - - - Initializes a new instance of the class. - - Exception description. - Inner exception. - - - - First line in a response have been received - - - - - Gets or sets motivation to why the status code was used. - - - - - Gets or sets message status code - - - - - Gets or sets sip protocol version used. - - - - - Request context - - - Contains information about a HTTP request and where it came from. - - - - - Gets or sets http context. - - - - - Gets or sets http request. - - - - - Gets or sets http response. - - - - - Header for "Date" and "If-Modified-Since" - - - - The field value is an HTTP-date, as described in section 3.3.1 in RFC2616; - it MUST be sent in RFC 1123 [8]-date format. An example is - - Date: Tue, 15 Nov 1994 08:12:31 GMT - - Origin servers MUST include a Date header field in all - responses, except in these cases: - - If the response status code is 100 (Continue) or 101 (Switching - Protocols), the response MAY include a Date header field, at the server's - option. - If the response status code conveys a server error, e.g. 500 - (Internal Server Error) or 503 (Service Unavailable), and it is inconvenient - or impossible to generate a valid Date. - If the server does not have a clock that can provide a - reasonable approximation of the current time, its responses MUST NOT include - a Date header field. In this case, the rules in section 14.18.1 in RFC2616 - MUST be followed. - - - A received message that does not have a Date header field MUST - be assigned one by the recipient if the message will be cached by that - recipient or gatewayed via a protocol which requires a Date. An HTTP - implementation without a clock MUST NOT cache responses without revalidating - them on every use. An HTTP cache, especially a shared cache, SHOULD use a - mechanism, such as NTP [28], to synchronize its clock with a reliable - external standard. - Clients SHOULD only send a Date header field in messages that - include an entity-body, as in the case of the PUT and POST requests, and - even then it is optional. A client without a clock MUST NOT send a Date - header field in a request. - The HTTP-date sent in a Date header SHOULD NOT represent a date - and time subsequent to the generation of the message. It SHOULD represent - the best available approximation of the date and time of message generation, - unless the implementation has no means of generating a reasonably accurate - date and time. In theory, the date ought to represent the moment just before - the entity is generated. In practice, the date can be generated at any time - during the message origination without affecting its semantic value. - - - - - - Header name - - - - - Initializes a new instance of the class. - - Header name. - Name must not be empty. - - - - Initializes a new instance of the class. - - Header name. - Universal time. - - - - Returns data formatted as a HTTP header value. - - - A that represents the current . - - - - - Gets or sets date time. - - Should be in UTC. - - - - Gets header name - - - - - The Cache-Control general-header field is used to specify directives that - MUST be obeyed by all caching mechanisms along the request/response - chain. . - - - - The directives specify behavior intended to prevent caches from adversely - interfering with the request or response. These directives typically - override the default caching algorithms. Cache directives are - unidirectional in that the presence of a directive in a request does not - imply that the same directive is to be given in the response. - Note that HTTP/1.0 caches might not implement Cache-Control and - might only implement Pragma: no-cache (see section 14.32 in RFC2616). - Cache directives MUST be passed through by a proxy or gateway - application, regardless of their significance to that application, since the - directives might be applicable to all recipients along the request/response - chain. It is not possible to specify a cache- directive for a specific cache - - - When a directive appears without any 1#field-name parameter, the - directive applies to the entire request or response. When such a - directive appears with a 1#field-name parameter, it applies only to - the named field or fields, and not to the rest of the request or - response. This mechanism supports extensibility; implementations of - future versions of the HTTP protocol might apply these directives to - header fields not defined in HTTP/1.1. - - - The cache-control directives can be broken down into these general - categories: - - - Restrictions on what are cacheable; these may only be imposed by - the origin server. - - Restrictions on what may be stored by a cache; these may be - imposed by either the origin server or the user agent. - - Modifications of the basic expiration mechanism; these may be - imposed by either the origin server or the user agent. - - Controls over cache revalidation and reload; these may only be - imposed by a user agent. - - Control over transformation of entities. - - Extensions to the caching system. - - - - - - - - Header name - - - - - Gets header name - - - - - Authorization response - - - - A user agent that wishes to authenticate itself with a server-- - usually, but not necessarily, after receiving a 401 response--does - so by including an Authorization request-header field with the - request. The Authorization field value consists of credentials - containing the authentication information of the user agent for - the realm of the resource being requested. - - - Authorization = "Authorization" ":" credentials - - - HTTP access authentication is described in "HTTP Authentication: - Basic and Digest Access Authentication" [43]. If a request is - authenticated and a realm specified, the same credentials SHOULD - be valid for all other requests within this realm (assuming that - the authentication scheme itself does not require otherwise, such - as credentials that vary according to a challenge value or using - synchronized clocks). - When a shared cache (see section 13.7) receives a request - containing an Authorization field, it MUST NOT return the - corresponding response as a reply to any other request, unless one - of the following specific exceptions holds: - - - - If the response includes the "s-maxage" cache-control - directive, the cache MAY use that response in replying to a - subsequent request. But (if the specified maximum age has - passed) a proxy cache MUST first revalidate it with the origin - server, using the request-headers from the new request to allow - the origin server to authenticate the new request. (This is the - defined behavior for s-maxage.) If the response includes "s- - maxage=0", the proxy MUST always revalidate it before re-using - it. - - If the response includes the "must-revalidate" cache-control - directive, the cache MAY use that response in replying to a - subsequent request. But if the response is stale, all caches - MUST first revalidate it with the origin server, using the - request-headers from the new request to allow the origin server - to authenticate the new request. - - If the response includes the "public" cache-control directive, - it MAY be returned in reply to any subsequent request. - - - - - - - Name constant - - - - - Gets or sets authentication data. - - - - - Gets or sets authentication protocol. - - - - - Gets name of header. - - - - - Factory is used to create new logs in the system. - - - - - Assigns log factory being used. - - The log factory. - A factory have already been assigned. - - - - Create a new logger. - - Type that requested a logger. - Logger for the specified type; - - - - A request have been received. - - - - - - - Initializes a new instance of the class. - - context that received the request. - Received request. - Response to send. - - - - Gets context that received the request. - - - Do not forget to set to true if you are sending - back a response manually through . - - - - - Gets or sets if the request have been handled. - - - The library will not attempt to send the response object - back to the client if this property is set to true. - - - - - Gets request object. - - - - - Gets response object. - - - - - Get or create components used in the web server framework - - - - - - - - Get or create a type. - - Type to create - Created type. - - Gets or creates types in the framework. - Check for more information on which - types the factory should contain. - - - - - Parses numerical values - - - - - Parse a header - - Name of header. - Reader containing value. - HTTP Header - Header value is not of the expected format. - - - - Contains parameters for HTTP headers. - - - - - Add a parameter - - name - value - - Existing parameter with the same name will be replaced. - - - - - Parse parameters. - - Parser containing buffer to parse. - A collection with all parameters (or just a empty collection). - Expected a value after equal sign. - - - - Parse parameters. - - Parser containing buffer to parse. - Parameter delimiter - A collection with all parameters (or just a empty collection). - Expected a value after equal sign. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets a value - - parameter name - value if found; otherwise null. - - - - Component that should be registered in the container. - - - Register using all interfaces that is specified in this assembly. - - - - - Stream-based multipart handling. - - In this incarnation deals with an HttpInputStream as we are now using - IntPtr-based streams instead of byte []. In the future, we will also - send uploads above a certain threshold into the disk (to implement - limit-less HttpInputFiles). - - - Taken from HttpRequest in mono (http://www.mono-project.com) - - - - - Interface used to write to log files. - - - If you want to use the built in filtering mechanism, create a constructor - which takes one parameter, a . - - - - - Write an entry that helps when debugging code. - - Log message - - - - Write an entry that helps when debugging code. - - Log message - Thrown exception to log. - - - - Something went wrong, but the application do not need to die. The current thread/request - cannot continue as expected. - - Log message - - - - Something went wrong, but the application do not need to die. The current thread/request - cannot continue as expected. - - Log message - Thrown exception to log. - - - - Something went very wrong, application might not recover. - - Log message - - - - Something went very wrong, application might not recover. - - Log message - Thrown exception to log. - - - - Informational message, needed when helping customer to find a problem. - - Log message - - - - Informational message, needed when helping customer to find a problem. - - Log message - Thrown exception to log. - - - - Write a entry that helps when trying to find hard to find bugs. - - Log message - - - - Write a entry that helps when trying to find hard to find bugs. - - Log message - Thrown exception to log. - - - - Something is not as we expect, but the code can continue to run without any changes. - - Log message - - - - Something is not as we expect, but the code can continue to run without any changes. - - Log message - Thrown exception to log. - - - - Used to create all key types in the HTTP server. - - - Should have factory methods at least for the following types: - , , - , , - , , - , , - . - - Check the default implementations to see which constructor - parameters you will get. - - - HttpFactory.Add(typeof(IRequest), (type, args) => new MyRequest((string)args[0])); - - - - - - Initializes a new instance of the class. - - - - - Add a factory method for a type. - - Type to create - Method creating the type. - - - - Used to - - - - - - - Setup our singleton. - - - - - - We want to use a singleton, but we also want to be able - to let the developer to setup his own header factory. - Therefore we use this method to create our own factory only if the user - have not specified one. - - - - - Small method to create a message factory singleton and replace then default delegate method. - - - - - - - - Create a type. - - Type to create - Created type. - - - - Gets http factory for the current listener. - - - - - Delegate used to create a certain type - - Created type. - - Method must never fail. - - - - - Contains numerical value. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Returns data formatted as a HTTP header value. - - - A that represents the current . - - - - - Gets value - - - - - Gets header name - - - - - Contents of a cookie header. - - - - - Initializes a new instance of the class. - - The collection. - collection is null. - - - - Gets cookie collection - - - - - Gets header name - - - - - Gets value as it would be sent back to client. - - - - - - Data decoded from a POST body. - - - - - Initializes a new instance of the class. - - - - - Gets or sets decoded files. - - - - - Gets or sets decoded parameters. - - - - - Collection of body decoders. - - - Body decoders are used to parse request body and convert it - into a and a . - - - - - Add another body decoder. - - - - - - Decode body stream - - Stream containing the content - Content type header - Stream encoding - Decoded data. - Body format is invalid for the specified content type. - Something unexpected failed. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Gets number of decoders. - - - - - Credits and description: http://theinstructionlimit.com/?p=76 - - - Converted to .Net 2.0 - - - - - Type cached for fast property value modifications. - - - - - Get a property value. - - Instance to get value from. - Name of property. - Property value. - - - - Assign a value, try to convert it if it's not the same type as the property type. - - Object containing the property - Name of property - Value to convert and assign - Failed to find property. - Could not convert value type to property type. - - - - Assign value to a property - - Object containing the property - Name of property - Value to assign, must be of the same type as the property. - Failed to find property. - - - - Used to cache property information - - - - - Gets the property. - - The name. - - Failed to find property. - - - InvalidCastException. - - - - Get a property value. - - Instance to get value from. - Name of property. - Property value. - - - - Assign a value, try to convert it if it's not the same type as the property type. - - Object containing the property - Name of property - Value to convert and assign - Failed to find property. - Could not convert value type to property type. - - - - Assign value to a property - - Object containing the property - Name of property - Value to assign, must be of the same type as the property. - Failed to find property. - - - - Gets or sets member info - - - - - Gets or sets member type - - - - - A request have been received. - - - - - Initializes a new instance of the class. - - The request. - End point that the request was received from. - - - - End point that the message was received from. - - - - - Received request. - - - - - Creates a single message for one of the end points. - - - The factory is - - - - - Initializes a new instance of the class. - - The MSG factory. - The factory. - The parser. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Received a header from parser - - - - - - - Will continue the parsing until nothing more can be parsed. - - buffer to parse - where to start in the buffer - number of bytes to process. - Position where parser stopped parsing. - Parsing failed. - - - - Reset parser. - - - Something failed, reset parser so it can start on a new request. - - - - - A request have been successfully parsed. - - - - - A response have been successfully parsed. - - - - - Client asks if he may continue. - - - If the body is too large or anything like that you should respond . - - - - - Used to notify about 100-continue header. - - - - - Initializes a new instance of the class. - - request that want to continue. - - - - Gets request that want to continue - - - - - Default log writer, writes everything to void (nowhere). - - - - - - The logging instance. - - - - - Write an entry that helps when debugging code. - - Log message - - - - Write an entry that helps when debugging code. - - Log message - Thrown exception to log. - - - - Write a entry needed when following through code during hard to find bugs. - - Log message - - - - Write a entry that helps when trying to find hard to find bugs. - - Log message - Thrown exception to log. - - - - Informational message, needed when helping customer to find a problem. - - Log message - - - - Informational message, needed when helping customer to find a problem. - - Log message - Thrown exception to log. - - - - Something is not as we expect, but the code can continue to run without any changes. - - Log message - - - - Something is not as we expect, but the code can continue to run without any changes. - - Log message - Thrown exception to log. - - - - Something went wrong, but the application do not need to die. The current thread/request - cannot continue as expected. - - Log message - - - - Something went wrong, but the application do not need to die. The current thread/request - cannot continue as expected. - - Log message - Thrown exception to log. - - - - Something went very wrong, application might not recover. - - Log message - - - - Something went very wrong, application might not recover. - - Log message - Thrown exception to log. - - - - This class writes to the console. - - - It colors the output depending on the log level - and includes a 3-level stack trace (in debug mode) - - - - - - Initializes a new instance of the class. - - Type being logged. - Log filter. - - - - Get color for the specified log level - - Level for the log entry - A for the level - - - - Write an entry - - Importance of the log message - The message. - - - - Write an entry that helps when debugging code. - - Log message - - - - Write an entry that helps when debugging code. - - Log message - Thrown exception to log. - - - - Write a entry needed when following through code during hard to find bugs. - - Log message - - - - Write a entry that helps when trying to find hard to find bugs. - - Log message - Thrown exception to log. - - - - Informational message, needed when helping customer to find a problem. - - Log message - - - - Informational message, needed when helping customer to find a problem. - - Log message - Thrown exception to log. - - - - Something is not as we expect, but the code can continue to run without any changes. - - Log message - - - - Something is not as we expect, but the code can continue to run without any changes. - - Log message - Thrown exception to log. - - - - Something went wrong, but the application do not need to die. The current thread/request - cannot continue as expected. - - Log message - - - - Something went wrong, but the application do not need to die. The current thread/request - cannot continue as expected. - - Log message - Thrown exception to log. - - - - Something went very wrong, application might not recover. - - Log message - - - - Something went very wrong, application might not recover. - - Log message - Thrown exception to log. - - - - Gets or sets type that the logger is for - - - - - Creates a console logger. - - - - - Initializes a new instance of the class. - - The filter. - - - - Create a new logger. - - Type that requested a logger. - Logger for the specified type; - - MUST ALWAYS return a logger. Return if no logging - should be used. - - - - - Cookies that should be set. - - - - - Adds a cookie in the collection. - - cookie to add - cookie is null - Name and Content must be specified. - - - - Copy a request cookie - - - When the cookie should expire - - - - Remove all cookies - - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier. - - Cookie if found; otherwise null. - - - - Provider returning user to be authenticated. - - - - - Lookups the specified user - - User name. - Typically web server domain name. - User if found; otherwise null. - - User name can basically be anything. For instance name entered by user when using - basic or digest authentication, or SID when using Windows authentication. - - - - - Gets the principal to use. - - Successfully authenticated user. - - - Invoked when a user have successfully been authenticated. - - - - - - - User information used during authentication process. - - - - - Gets or sets user name used during authentication. - - - - - Gets or sets unencrypted password. - - - Password as clear text. You could use instead if your passwords - are encrypted in the database. - - - - - Gets or sets HA1 hash. - - - - Digest authentication requires clear text passwords to work. If you - do not have that, you can store a HA1 hash in your database (which is part of - the Digest authentication process). - - - A HA1 hash is simply a Md5 encoded string: "UserName:Realm:Password". The quotes should - not be included. Realm is the currently requested Host (as in Request.Headers["host"]). - - - Leave the string as null if you are not using HA1 hashes. - - - - - - Provides authentication in the web server. - - - To initiate authentication you just need to throw a Una - - - - - Add a authenticator. - - - - - - Authenticate request. - - - - - Requires that a AuthorizationHeader have been sent by the client. If not, - request one by sending a WWW-Authentication header (can be generated by the Challenge method). - - Authorization header was not found in the request. - Requested authentication scheme is not supported. - - - - Create a challenge header (WWW-authenticate) - - Response that the authentication header should be added to - Realm that the user should authenticate in - WWW-Authenticate header. - - - Scheme can currently be basic or digest. Basic is not very safe, but easier to use. - Digest is quite safe. - - - - Requested scheme is not supported. - - - + + + + HttpServer + + + + + Used by to filter out unwanted connections. + + + + + Initializes a new instance of the class. + + The socket. + + + + Gets or sets if socket can be accepted. + + + + + Gets socket. + + + + + A request have been received. + + + + + + + Initializes a new instance of the class. + + context that received the request. + Received request. + Response to send. + + + + Gets context that received the request. + + + Do not forget to set to true if you are sending + back a response manually through . + + + + + Gets or sets if the request have been handled. + + + The library will not attempt to send the response object + back to the client if this property is set to true. + + + + + Gets request object. + + + + + Gets response object. + + + + + Cookies that should be set. + + + + + Adds a cookie in the collection. + + cookie to add + cookie is null + Name and Content must be specified. + + + + Copy a request cookie + + + When the cookie should expire + + + + Remove all cookies + + + + + Gets a collection enumerator on the cookie list. + + collection enumerator + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Gets the count of cookies in the collection. + + + + + Gets the cookie of a given identifier. + + Cookie if found; otherwise null. + + + + An exception that can't be handled by the library have been thrown. + + + + + Initializes a new instance of the class. + + The exception. + + + + Gets caught exception. + + + + + Data decoded from a POST body. + + + + + Initializes a new instance of the class. + + + + + Gets or sets decoded files. + + + + + Gets or sets decoded parameters. + + + + + Stores sessions in files. + + + All session parameters must be serializable. + + + + + Stores sessions in your favorite store + + + + + + + + Saves the specified session. + + The session. + + + + Touches the specified session + + Session id. + + Used to prevent sessions from expiring. + + + + + Loads a session + + Session id. + Session if found; otherwise null. + + + + Delete a session + + Id of session + + + + Saves the specified session. + + The session. + + + + Touches the specified session + + Session id. + + Used to prevent sessions from expiring. + + + + + Loads a session + + Session id. + Session if found; otherwise null. + + + + HTTP methods. + + + + + Unknown method + + + + + Posting data + + + + + Get data + + + + + Update data + + + + + Remove data + + + + + Get only HTTP headers. + + + + + Options HTTP 1.1 header. + + + + + Http listener. + + + + + Http listener + + + + + Start listener. + + Number of pending accepts. + + Make sure that you are subscribing on first. + + Listener have already been started. + Failed to start socket. + Invalid port number. + + + + Stop listener. + + + + + Gets listener address. + + + + + Gets if listener is secure. + + + + + Gets if listener have been started. + + + + + Gets or sets logger. + + + + + Gets listening port. + + + + + Gets the maximum content size. + + The content length limit. + + Used when responding to 100-continue. + + + + + A new request have been received. + + + + + Can be used to reject certain clients. + + + + + A HTTP exception have been thrown. + + + Fill the body with a user friendly error page, or redirect to somewhere else. + + + + + Initializes a new instance of the class. + + The address. + The port. + + + + Initializes a new instance of the class. + + The address. + The port. + The HTTP factory. + + + + Creates a new instance with default factories. + + Address that the listener should accept connections on. + Port that listener should accept connections on. + Created HTTP listener. + + + + Creates a new instance with default factories. + + Address that the listener should accept connections on. + Port that listener should accept connections on. + Factory used to create different types in the framework. + Created HTTP listener. + + + + Creates a new instance with default factories. + + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + Created HTTP listener. + + + + Create a new context + + Accepted socket + A new context. + + + Throwing exception if in debug mode and not exception handler have been specified. + + + + Start listener. + + Number of pending accepts. + + Make sure that you are subscribing on first. + + Listener have already been started. + Failed to start socket. + Invalid port number. + + + + Stop listener. + + + + + Gets HTTP factory used to create types used by this HTTP library. + + + + + Gets or sets the maximum number of bytes that the request body can contain. + + The content length limit. + + + Used when responding to 100-continue. + + + 0 = turned off. + + + + + + Gets listener address. + + + + + Gets if listener is secure. + + + + + Gets if listener have been started. + + + + + Gets or sets logger. + + + + + Gets listening port. + + + + + A new request have been received. + + + + + Can be used to reject certain clients. + + + + + A HTTP exception have been thrown. + + + Fill the body with a user friendly error page, or redirect to somewhere else. + + + + + Client asks if he may continue. + + + If the body is too large or anything like that you should respond . + + + + + Contents of a cookie header. + + + + + Header in a message + + + Important! Each header should override ToString() + and return it's data correctly formatted as a HTTP header value. + + + + + Gets header name + + + + + Gets value as it would be sent back to client. + + + + + Initializes a new instance of the class. + + The collection. + collection is null. + + + + Gets cookie collection + + + + + Gets header name + + + + + Gets value as it would be sent back to client. + + + + + + Request couldn't be parsed successfully. + + + + + Exception thrown from HTTP server. + + + + + Initializes a new instance of the class. + + HTTP status code. + Exception description. + + + + Initializes a new instance of the class. + + HTTP status code. + Exception description. + Inner exception. + + + + Gets HTTP status code. + + + + + Initializes a new instance of the class. + + Exception description. + + + + Initializes a new instance of the class. + + Exception description. + Exception description. + + + + Something failed during parsing. + + + + + Initializes a new instance of the class. + + Exception description. + + + + Initializes a new instance of the class. + + Exception description. + Inner exception. + + + + Used to parse header values + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Collection of body decoders. + + + Body decoders are used to parse request body and convert it + into a and a . + + + + + Add another body decoder. + + + + + + Decode body stream + + Stream containing the content + Content type header + Stream encoding + Decoded data. + Body format is invalid for the specified content type. + Something unexpected failed. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Gets number of decoders. + + + + + Custom network stream to mark sockets as reusable when disposing the stream. + + + + + Creates a new instance of the class for the specified . + + + The that the will use to send and receive data. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + + + + + Initializes a new instance of the class for the specified with the specified ownership. + + + The that the will use to send and receive data. + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + the value of the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + + + + + Creates a new instance of the class for the specified with the specified access rights. + + + The that the will use to send and receive data. + + + A bitwise combination of the values that specify the type of access given to the over the provided . + + + The parameter is null. + + + The parameter is not connected. + -or- + the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + + + + + Creates a new instance of the class for the specified with the specified access rights and the specified ownership. + + + The that the will use to send and receive data. + + + A bitwise combination of the values that specifies the type of access given to the over the provided . + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Parses query string + + + + + Parse a query string + + string to parse + A collection + reader is null. + + + + Parse a query string + + string to parse + A collection + queryString is null. + + + + Convention over configuration server. + + + Used to make it easy to create and use a web server. + + All resources must exist in the "YourProject.Content" namespace (or a subdirectory called "Content" relative to yourapp.exe). + + + + + + Http server. + + + + + Initializes a new instance of the class. + + Factory used to create objects used in this library. + + + + Initializes a new instance of the class. + + + + + Add a decoder. + + decoder to add + + Adding zero decoders will make the server add the + default ones which is and . + + + + + Add a new router. + + Router to add + Server have been started. + + + + Add a file module + + Module to add + module is null. + Cannot add modules when server have been started. + + + + Add a HTTP listener. + + + Listener have been started. + + + + An error have occurred and we need to send a result pack to the client + + The context. + The exception. + + Invoke base class () to send the contents + of . + + + + + Called before anything else. + + The context. + + Looks after a in the request and will + use the if found. + + + + + All server modules are about to be invoked. + + The context. + + Called when routers have been invoked but no modules yet. + + + + + A request have arrived but not yet been processed yet. + + The context. + + Default implementation adds a Date header and Server header. + + + + + Go through all modules and check if any of them can handle the current request. + + + + + + + Process result (check if it should be sent back or not) + + + + true if request was processed properly.; otherwise false. + + + + Processes all routers. + + Request context. + Processing result. + + + + Requests authentication from the user. + + Host/domain name that the server hosts. + + Used when calculating hashes in Digest authentication. + + + + + + + Send a response. + + + + + + + + Start http server. + + Number of pending connections. + + + + Stops the server + + true if all modules should be removed. + + + + Gets the authentication provider. + + + A authentication provider is used to keep track of all authentication types + that can be used. + + + + + Gets or sets number of bytes that a body can be. + + + + Used to determine the answer to a 100-continue request. + + + 0 = turned off. + + + + + + Gets current server. + + + Only valid when a request have been received and is being processed. + + + + + Gets or sets the maximum size of request body (in bytes) + + + + + Gets or sets server name. + + + Used in the "Server" header when serving requests. + + + + + Invoked just before a response is sent back to the client. + + + + + Invoked *after* the web server has tried to handled the request. + + + The event can be used to handle the request after all routes and modules + have tried to process the request. + + + + + Invoked *before* the web server has tried to handled the request. + + + Event can be used to load a session from a cookie or to force + authentication or anything other you might need t do before a request + is handled. + + + + + An error page have been requested. + + + + + Initializes a new instance of the class. + + + + + Used to build headers. + + + + + Add a parser + + Header that the parser is for. + Parser implementation + + Will replace any existing parser for the specified header. + + + + + Add all default (built-in) parsers. + + + Will not replace previously added parsers. + + + + + Create a header parser + + implementation. + + + Uses attribute to find which headers + the parser is for. + + Will not replace previously added parsers. + + + + + Parse a header. + + Name of header + Header value + Header. + Value is not a well formatted header value. + + + + Request sent to a HTTP server. + + + + + + Base interface for request and response. + + + + + Add a new header. + + + + + + + Add a new header. + + Header to add. + + + + Gets body stream. + + + + + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. + + + + + Kind of content in the body + + Default is text/html + + + + Gets or sets encoding + + + + + Gets headers. + + + + + Get a header + + Type that it should be cast to + Name of header + Header if found and casted properly; otherwise null. + + + + Gets or sets connection header. + + + + + Gets cookies. + + + + + Gets all uploaded files. + + + + + Gets form parameters. + + + + + Gets or sets HTTP version. + + + + + Gets if request is an Ajax request. + + + + + Gets or sets HTTP method. + + + + + Gets query string and form parameters + + + + + Gets query string. + + + + + Gets requested URI. + + + + + Load resources from disk. + + + + + Loads resources from a specific location (such as assembly, hard drive etc). + + + + + Checks if a resource exists in the specified directory + + Uri path to resource + true if resource was found; otherwise false. + + + if (resources.Exists("/files/user/user.png")) + Debug.WriteLine("Resource exists."); + + + + + + Find all views in a folder/path. + + Absolute Uri path to files that should be found, can end with wild card. + Collection to add all view names to. + + + + Gets a resource. + + Uri path to resource. + Resource + Uri contains forbidden characters. + + + Resource resource = resources.Get("/files/user/user.png"); + + + + + + Default forbidden characters. + + + + + relative to absolute path mappings. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Request URI path + Disk path + + File names should not be included in URI or path. + + + + new FileResources("/files/user/", "C:\\intetpub\\files\users\\"); + + + + + + Add a new resource mapping. + + Request URI path + Disk path + + File names should not be included in URI or path. + + + + resources.Add("/files/", "C:\\intetpub\\files\\"); + + + absolutePath is not found. + + + + check if source contains any of the chars. + + string to check + Characters to fined + + + + + Go through all mappings and find requested Uri. + + Uri to get local path for. + Path if found; otherwise null. + + + + Checks if a resource exists in the specified directory + + Uri path to resource + true if resource was found; otherwise false. + + + if (resources.Exists("/files/user/user.png")) + Debug.WriteLine("Resource exists."); + + + + + + Gets a resource. + + Uri path to resource. + Resource + Uri contains forbidden characters. + + + Resource resource = resources.Get("/files/user/user.png"); + + + + + + Find all views in a folder/path. + + Absolute Uri path to files that should be found, can end with wild card. + Collection to add all view names to. + Uri contains forbidden characters. + + Find(" + + + + + Gets or sets forbidden characters. + + + Used to revoke access to any system files. + + + + + Gets or sets absolute path on disk, including file name. + + + + + Gets or sets relative file path. + + + + + Gets or sets Uri path, excluding file name + + + + + Used to send a response back to the client. + + + + Writes a object into a stream. + + + Important! ResponseWriter do not throw any exceptions. Instead it just logs them and + let them die peacefully. This is since the response writer is used from + catch blocks here and there. + + + + + + Sends response using the specified context. + + The context. + The response. + + + + Converts and sends a string. + + + + Encoding used to transfer string + + + + Send a body to the client + + Context containing the stream to use. + Body to send + + + + Send all headers to the client + + Response containing call headers. + Content used to send headers. + + + + Decodes body stream. + + + + + Decode body stream + + Stream containing the content + Content type header + Stream encoding + Decoded data. + Body format is invalid for the specified content type. + Something unexpected failed. + + + + All content types that the decoder can parse. + + A collection of all content types that the decoder can handle. + + + + Decodes forms that have multiple sections. + + + http://www.faqs.org/rfcs/rfc1867.html + + + + + form-data + + + + + multipart/form-data + + + + + Decode body stream + + Stream containing the content + Content type header + Stream encoding + Decoded data. + Body format is invalid for the specified content type. + Something unexpected failed. + stream is null. + + + + All content types that the decoder can parse. + + A collection of all content types that the decoder can handle. + + + + Provides sessions. + + Type of session object + + Will always use files for sessions (utilizing the binary formatter), but can + also cache them in memory. + + If caching is enabled, it will only write sessions to disk every 20 seconds if they have + been accessed the last minute (to not keep writing dead sessions to disk). + + + + + + Initializes a new instance of the class. + + Session type must use [Serializable] attribute. + + + + Create a new session. + + + + + + Load session + + Id of session. + Session if found; otherwise null. + sessionId is null. + + + + Load session when a new request comes in. + + + + + + + Save a session to disk. + + Session to write to disk. + + You are responsible for writing sessions to disk if you are not using caching. + + + + + Start the session system and hook + + + + + + Stop session handling + + + + + Gets or sets session cookie name + + + + + Gets or sets cache + + + + + Gets current session. + + + + + Gets or sets number of seconds before a session expired. + + + A session have expired if nothing have accessed it for X seconds. This + class modifies the write time each time it's accessed. + + + + + Determines if cookie should be set in the response. + + + + + Invoked when a session have been changed and should be written to disc. + + + + + First line in a response have been received + + + + + Gets or sets motivation to why the status code was used. + + + + + Gets or sets message status code + + + + + Gets or sets sip protocol version used. + + + + + A request have been parsed successfully by the server. + + + + + Initializes a new instance of the class. + + Received request. + + + + Gets received request. + + + + + Provider returning user to be authenticated. + + + + + Lookups the specified user + + User name. + Typically web server domain name. + User if found; otherwise null. + + User name can basically be anything. For instance name entered by user when using + basic or digest authentication, or SID when using Windows authentication. + + + + + Gets the principal to use. + + Successfully authenticated user. + + + Invoked when a user have successfully been authenticated. + + + + + + + User information used during authentication process. + + + + + Gets or sets user name used during authentication. + + + + + Gets or sets unencrypted password. + + + Password as clear text. You could use instead if your passwords + are encrypted in the database. + + + + + Gets or sets HA1 hash. + + + + Digest authentication requires clear text passwords to work. If you + do not have that, you can store a HA1 hash in your database (which is part of + the Digest authentication process). + + + A HA1 hash is simply a Md5 encoded string: "UserName:Realm:Password". The quotes should + not be included. Realm is the currently requested Host (as in Request.Headers["host"]). + + + Leave the string as null if you are not using HA1 hashes. + + + + + + Used to get or set properties on objects. + + + This class should be a bit faster than the standard reflection. + + + + + Get cached type. + + Type to get/set properties in + Type to use + + + + Used to load/store sessions in the server. + + + + + Initializes a new instance of the class. + + Web server that the provider is for.. + Store to use. + + + + Initializes a new instance of the class. + + The server. + + Uses a file store. + + + + + Loads a session for all requests that got the session cookie. + + The sender. + The instance containing the event data. + + + + Gets current session + + Session if set, otherwise null. + + + + Gets or sets the session life time in minutes. + + The session life time. + + + + A session have been loaded. Use to access it. + + + + + Secure version of the HTTP listener. + + + + + Initializes a new instance of the class. + + Address to accept new connections on. + Port to accept connections on. + Certificate securing the connection. + + + + Create a new context + + Accepted socket + A new context. + + Factory is assigned by the on each incoming request. + + + + + Gets if listener is secure. + + + + + + Gets or sets SSL protocol. + + + + + Gets or sets if client certificate should be used. + + + + + Arguments used when more body bytes have come. + + + + + Initializes a new instance of the class. + + buffer that contains the received bytes. + offset in buffer where to start processing. + number of bytes from that should be parsed. + buffer is null. + + + + Initializes a new instance of the class. + + + + + Gets or sets buffer that contains the received bytes. + + + + + Gets or sets number of bytes from that should be parsed. + + + + + Gets or sets offset in buffer where to start processing. + + + + + HTTP Module + + + + + Process a request. + + Request information + What to do next. + + + + Something unexpected went wrong. + + + + + Initializes a new instance of the class. + + Exception description. + + + + Initializes a new instance of the class. + + Exception description. + Inner exception. + + + + File sent from remote end. + + + + + Gets or sets content type. + + + + + Gets or sets name in form. + + + + + Gets or sets name original file name + + + + + Gets or sets filename for locally stored file. + + + + + Parses Cookie header. + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Decodes URL encoded values. + + + + + + + Stream containing the content + Content type header + Stream encoding + Collection with all parameters. + Body format is invalid for the specified content type. + Failed to read all bytes from body stream. + + + + All content types that the decoder can parse. + + A collection of all content types that the decoder can handle. + + + + Base class for sessions. + + + Your class must be tagged with attribute to be able to use sessions. + + + + + The session have been changed and should be written to disk. + + + + + Session have been changed. + + + + + Gets or sets when session was accessed last + + + + + Gets current session. + + + + + Gets or sets session id. + + + + + Gets or sets when the session was last written to disk. + + + + + Parses and builds messages + + + The message factory takes care of building messages + from all end points. + + Since both message and packet protocols are used, the factory + hands out contexts to all end points. The context keeps a state + to be able to parse partial messages properly. + + + Each end point need to hand the context back to the message factory + when the client disconnects (or a message have been parsed). + + + + + + Initializes a new instance of the class. + + Factory used to create headers. + + + + Create a new message factory context. + + A new context. + + A context is used to parse messages from a specific endpoint. + + + + + Release a used factory context. + + + + + + A request have been received from one of the end points. + + + + + A response have been received from one of the end points. + + + + + Interface used to write to log files. + + + If you want to use the built in filtering mechanism, create a constructor + which takes one parameter, a . + + + + + Write an entry that helps when debugging code. + + Log message + + + + Write an entry that helps when debugging code. + + Log message + Thrown exception to log. + + + + Something went wrong, but the application do not need to die. The current thread/request + cannot continue as expected. + + Log message + + + + Something went wrong, but the application do not need to die. The current thread/request + cannot continue as expected. + + Log message + Thrown exception to log. + + + + Something went very wrong, application might not recover. + + Log message + + + + Something went very wrong, application might not recover. + + Log message + Thrown exception to log. + + + + Informational message, needed when helping customer to find a problem. + + Log message + + + + Informational message, needed when helping customer to find a problem. + + Log message + Thrown exception to log. + + + + Write a entry that helps when trying to find hard to find bugs. + + Log message + + + + Write a entry that helps when trying to find hard to find bugs. + + Log message + Thrown exception to log. + + + + Something is not as we expect, but the code can continue to run without any changes. + + Log message + + + + Something is not as we expect, but the code can continue to run without any changes. + + Log message + Thrown exception to log. + + + + cookie sent by the client/browser + + + + + + Constructor. + + cookie identifier + cookie content + id or content is null + id is empty + + + + Gets the cookie HTML representation. + + cookie string + + + + Gets the cookie identifier. + + + + + Gets value. + + + Set to null to remove cookie. + + + + + Arguments for . + + + + + Initializes a new instance of the class. + + The context. + + + + Gets or sets thrown exception + + + + + Gets or sets if error page was provided. + + + + + Gets requested resource. + + + + + Gets response to send + + + + + Implements HTTP Digest authentication. It's more secure than Basic auth since password is + encrypted with a "key" from the server. + + + Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. + + + + + Authenticates requests + + + + + Authenticate request + + Authorization header send by web client + Realm to authenticate in, typically a domain name. + HTTP Verb used in the request. + User if authentication was successful; otherwise null. + + + + Create a authentication challenge. + + Realm that the user should authenticate in + A WWW-Authenticate header. + If realm is empty or null. + + + + Gets authenticator scheme + + + digest + + + + + Initializes a new instance of the class. + + Supplies users during authentication process. + + + + Used by test classes to be able to use hardcoded values + + + + + An authentication response have been received from the web browser. + Check if it's correct + + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + + Authentication object that is stored for the request. A user class or something like that. + + if authenticationHeader is invalid + If any of the parameters is empty or null. + + + + Encrypts parameters into a Digest string + + Realm that the user want to log into. + User logging in + Users password. + HTTP method. + Uri/domain that generated the login prompt. + Quality of Protection. + "Number used ONCE" + Hexadecimal request counter. + "Client Number used ONCE" + Digest encrypted string + + + + + + Md5 hex encoded "userName:realm:password", without the quotes. + Md5 hex encoded "method:uri", without the quotes + Quality of Protection + "Number used ONCE" + Hexadecimal request counter. + Client number used once + + + + + Create a authentication challenge. + + Realm that the user should authenticate in + A correct auth request. + If realm is empty or null. + + + + Gets the current nonce. + + + + + + Gets the Md5 hash bin hex2. + + To be hashed. + + + + + determines if the nonce is valid or has expired. + + nonce value (check wikipedia for info) + true if the nonce has not expired. + + + + Gets authentication scheme name + + + + + Gets authenticator scheme + + + + digest + + + + + Provides authentication in the web server. + + + To initiate authentication you just need to throw a Una + + + + + Add a authenticator. + + + + + + Authenticate request. + + + + + Requires that a AuthorizationHeader have been sent by the client. If not, + request one by sending a WWW-Authentication header (can be generated by the Challenge method). + + Authorization header was not found in the request. + Requested authentication scheme is not supported. + + + + Create a challenge header (WWW-authenticate) + + Response that the authentication header should be added to + Realm that the user should authenticate in + WWW-Authenticate header. + + + Scheme can currently be basic or digest. Basic is not very safe, but easier to use. + Digest is quite safe. + + + + Requested scheme is not supported. + + + + Creates a console logger. + + + + + Factory implementation used to create logs. + + + + + Create a new logger. + + Type that requested a logger. + Logger for the specified type; + + MUST ALWAYS return a logger. Return if no logging + should be used. + + + + + Initializes a new instance of the class. + + The filter. + + + + Create a new logger. + + Type that requested a logger. + Logger for the specified type; + + MUST ALWAYS return a logger. Return if no logging + should be used. + + + + + redirects from one URL to another. + + + + + Rules are used to perform operations before a request is being handled. + Rules can be used to create routing etc. + + + + + Process the incoming request. + + Request context information. + Processing result. + If any parameter is null. + + + + Initializes a new instance of the class. + + Absolute path (no server name) + Absolute path (no server name) + + server.Add(new RedirectRule("/", "/user/index")); + + + + + Initializes a new instance of the class. + + Absolute path (no server name) + Absolute path (no server name) + true if request should be redirected, false if the request URI should be replaced. + + server.Add(new RedirectRule("/", "/user/index")); + + + + + Process the incoming request. + + Request context. + Processing result. + If any parameter is null. + + + + Gets string to match request URI with. + + Is compared to request.Uri.AbsolutePath + + + + Gets whether the server should redirect the client instead of simply modifying the URI. + + + false means that the rule will replace + the current request URI with the new one from this class. + true means that a redirect response is sent to the client. + + + + + Gets where to redirect. + + + + + The Connection general-header field allows the sender to specify options + that are desired for that particular connection and MUST NOT be + communicated by proxies over further connections. + + + + HTTP/1.1 proxies MUST parse the Connection header field before a + message is forwarded and, for each connection-token in this field, + remove any header field(s) from the message with the same name as the + connection-token. Connection options are signaled by the presence of + a connection-token in the Connection header field, not by any + corresponding additional header field(s), since the additional header + field may not be sent if there are no parameters associated with that + connection option. + + Message headers listed in the Connection header MUST NOT include + end-to-end headers, such as Cache-Control. + + HTTP/1.1 defines the "close" connection option for the sender to + signal that the connection will be closed after completion of the + response. For example, + + Connection: close + + in either the request or the response header fields indicates that + the connection SHOULD NOT be considered `persistent' (section 8.1) + after the current request/response is complete. + + HTTP/1.1 applications that do not support persistent connections MUST + include the "close" connection option in every message. + + A system receiving an HTTP/1.0 (or lower-version) message that + includes a Connection header MUST, for each connection-token in this + field, remove and ignore any header field(s) from the message with + the same name as the connection-token. This protects against mistaken + forwarding of such header fields by pre-HTTP/1.1 proxies. See section + 19.6.2 in RFC2616. + + + + + + Header name + + + + + Default connection header for HTTP/1.0 + + + + + Default connection header for HTTP/1.1 + + + + + Initializes a new instance of the class. + + Connection type. + The parameters. + + + + Initializes a new instance of the class. + + The type. + + + + Returns data formatted as a HTTP header value. + + + A that represents the current . + + + + + Gets connection parameters. + + + + + Gets or sets connection type + + + + + Gets header name + + + + + Type of HTTP connection + + + + + Connection is closed after each request-response + + + + + Connection is kept alive for X seconds (unless another request have been made) + + + + + Requests message-body be sent with an encoding to be specified in the "Transfer-Encoding" header. + + + + + Helper for content types. + + + + + Flyweight design pattern implementation. + + Type of object. + + + + Initializes a new instance of the class. + + How large buffers to allocate. + + + + Get an object. + + Created object. + Will create one if queue is empty. + + + + Enqueues the specified buffer. + + Object to enqueue. + Buffer is is less than the minimum requirement. + + + + Used to create new objects. + + Type of objects to create. + Newly created object. + . + + + + A HTTP parser using delegates to which parsing methods. + + + + + Initializes a new instance of the class. + + + + + Parser method to copy all body bytes. + + + Needed since a TCP packet can contain multiple messages + after each other, or partial messages. + + + + Try to find a header name. + + + + + + Get header values. + + + Will also look for multi header values and automatically merge them to one line. + Content length is not a number. + + + + Toggle body bytes event. + + + + + + + + Raise the event, since we have successfully parsed a message and it's body. + + + + + First message line. + + Will always contain three elements. + Used to raise the or event + depending on the words in the array. + BadRequestException. + + + + Continue parsing a message + + Byte buffer containing bytes + Where to start the parsing + Number of bytes to parse + index where the parsing stopped. + Parsing failed. + + + + Parses the first line in a request/response. + + true if first line is well formatted; otherwise false. + Invalid request/response line. + + + + Reset parser to initial state. + + + + + Gets or sets current line number. + + + + + The request line has been parsed. + + + + + Response line has been parsed. + + + + + Parsed a header. + + + + + Received body bytes. + + + + + A message have been successfully parsed. + + + + + Used to be able to quickly swap parser method. + + + + + + Get or create components used in the web server framework + + + + + + + + Get or create a type. + + Type to create + Created type. + + Gets or creates types in the framework. + Check for more information on which + types the factory should contain. + + + + + Used to create all key types in the HTTP server. + + + Should have factory methods at least for the following types: + , , + , , + , , + , , + . + + Check the default implementations to see which constructor + parameters you will get. + + + HttpFactory.Add(typeof(IRequest), (type, args) => new MyRequest((string)args[0])); + + + + + + Initializes a new instance of the class. + + + + + Add a factory method for a type. + + Type to create + Method creating the type. + + + + Used to + + + + + + + Setup our singleton. + + + + + + We want to use a singleton, but we also want to be able + to let the developer to setup his own header factory. + Therefore we use this method to create our own factory only if the user + have not specified one. + + + + + Small method to create a message factory singleton and replace then default delegate method. + + + + + + + + Create a type. + + Type to create + Created type. + + + + Gets http factory for the current listener. + + + + + Delegate used to create a certain type + + Created type. + + Method must never fail. + + + + + Used to define which headers a parse is for. + + + + + Initializes a new instance of the class. + + Name of the header. + + + + Gets name of header that this parser is for. + + + + + Parses "Date" header. + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Authorization response + + + + A user agent that wishes to authenticate itself with a server-- + usually, but not necessarily, after receiving a 401 response--does + so by including an Authorization request-header field with the + request. The Authorization field value consists of credentials + containing the authentication information of the user agent for + the realm of the resource being requested. + + + Authorization = "Authorization" ":" credentials + + + HTTP access authentication is described in "HTTP Authentication: + Basic and Digest Access Authentication" [43]. If a request is + authenticated and a realm specified, the same credentials SHOULD + be valid for all other requests within this realm (assuming that + the authentication scheme itself does not require otherwise, such + as credentials that vary according to a challenge value or using + synchronized clocks). + When a shared cache (see section 13.7) receives a request + containing an Authorization field, it MUST NOT return the + corresponding response as a reply to any other request, unless one + of the following specific exceptions holds: + + + + If the response includes the "s-maxage" cache-control + directive, the cache MAY use that response in replying to a + subsequent request. But (if the specified maximum age has + passed) a proxy cache MUST first revalidate it with the origin + server, using the request-headers from the new request to allow + the origin server to authenticate the new request. (This is the + defined behavior for s-maxage.) If the response includes "s- + maxage=0", the proxy MUST always revalidate it before re-using + it. + + If the response includes the "must-revalidate" cache-control + directive, the cache MAY use that response in replying to a + subsequent request. But if the response is stale, all caches + MUST first revalidate it with the origin server, using the + request-headers from the new request to allow the origin server + to authenticate the new request. + + If the response includes the "public" cache-control directive, + it MAY be returned in reply to any subsequent request. + + + + + + + Name constant + + + + + Gets or sets authentication data. + + + + + Gets or sets authentication protocol. + + + + + Gets name of header. + + + + + User needs to authenticate. + + + + + + + Initializes a new instance of the class. + + Exception description. + + + + Initializes a new instance of the class. + + Exception description. + Inner exception. + + + + A response have been received. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets or sets response. + + + + + Creates a single message for one of the end points. + + + The factory is + + + + + Initializes a new instance of the class. + + The MSG factory. + The factory. + The parser. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Received a header from parser + + + + + + + Will continue the parsing until nothing more can be parsed. + + buffer to parse + where to start in the buffer + number of bytes to process. + Position where parser stopped parsing. + Parsing failed. + + + + Reset parser. + + + Something failed, reset parser so it can start on a new request. + + + + + A request have been successfully parsed. + + + + + A response have been successfully parsed. + + + + + Client asks if he may continue. + + + If the body is too large or anything like that you should respond . + + + + + Used to notify about 100-continue header. + + + + + Initializes a new instance of the class. + + request that want to continue. + + + + Gets request that want to continue + + + + + Default log filter implementation. + + + + + Determines which classes can log + + + + + Checks if the specified type can send + log entries at the specified level. + + Log level + Type that want to write a log entry. + true if logging is allowed; otherwise false. + + + + Add a name space filter. + + Name space to add filter for. + Minimum log level required. + + + // Parsing can only add error and fatal messages + AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error); + AddType(typeof(SipParser), LogLevel.Error); + + // Transport layer can only log warnings, errors and fatal messages + AddNamespace("SipSharp.Transports.*", LogLevel.Warning); + + + + + + Used to specify standard filter rules + + + Parser can only display errors. Transports only warnings. + + + + + Add filter for a type + + Type to add filter for. + Minimum log level required. + + + // Parsing can only add error and fatal messages + AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error); + AddType(typeof(SipParser), LogLevel.Error); + + // Transport layer can only log warnings, errors and fatal messages + AddNamespace("SipSharp.Transports.*", LogLevel.Warning); + + + + + + Add filter for a type + + Type to add filter for. + Minimum log level required. + + + // Parsing can only add error and fatal messages + AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error); + AddType("SipSharp.Messages.MessageFactory", LogLevel.Error); + + // Transport layer can only log warnings, errors and fatal messages + AddNamespace("SipSharp.Transports.*", LogLevel.Warning); + + + Type could not be identified. + + + + Checks if the specified type can send + log entries at the specified level. + + Log level + Type that want to write a log entry. + true if logging is allowed; otherwise false. + + + No filters = everything logged. = no logs. Don't use a rule with '*' or '.*' + + + + User have specified a wild card filter. + + + Wild card filters are used to log a name space and + all it's children name spaces. + + + + + Result of processing. + + + + + Continue with the next handler + + + + + No more handlers can process the request. + + + The server will process the response object and + generate a HTTP response from it. + + + + + Response have been sent back by the handler. + + + This option should only be used if you are streaming + something or sending back a custom result. The server will + not process the response object or send anything back + to the client. + + + + + Used to store all headers that that aren't recognized. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Gets or sets value + + + + + Gets header name + + + + + Parses . + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Collection of parameters + + + + + Get a parameter. + + + + + + + Add a query string parameter. + + Parameter name + Value + + + + Checks if the specified parameter exists + + Parameter name. + true if found; otherwise false; + + + + Gets number of parameters. + + + + + Gets last value of an parameter. + + Parameter name + String if found; otherwise null. + + + + Parameter in + + + + + Gets *last* value. + + + Parameters can have multiple values. This property will always get the last value in the list. + + String if any value exist; otherwise null. + + + + Gets or sets name. + + + + + Gets a list of all values. + + + + + A parameter in . + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Gets last value. + + + Parameters can have multiple values. This property will always get the last value in the list. + + String if any value exist; otherwise null. + + + + Gets or sets name. + + + + + Gets a list of all values. + + + + + Used when the request line have been successfully parsed. + + + + + Initializes a new instance of the class. + + The HTTP method. + The URI path. + The HTTP version. + + + + Initializes a new instance of the class. + + + + + Gets or sets HTTP method. + + + Should be one of the methods declared in . + + + + + Gets or sets requested URI path. + + + + + Gets or sets the version of the SIP protocol that the client want to use. + + + + + Content-type + + + + + Header name. + + + + + Initializes a new instance of the class. + + Type of the content. + Value parameters. + + + + Initializes a new instance of the class. + + Type of the content. + + + + Returns data formatted as a HTTP header value. + + + A that represents the current . + + + + + Gets all parameters. + + + + + Gets content type. + + + + + Gets header name + + + + + Requested resource may not be accessed. + + + Normally thrown after an authentication attempt have failed too many times. + + + + + + Initializes a new instance of the class. + + Exception description. + + + + Initializes a new instance of the class. + + Exception description. + Inner exception. + + + + Stream-based multipart handling. + + In this incarnation deals with an HttpInputStream as we are now using + IntPtr-based streams instead of byte []. In the future, we will also + send uploads above a certain threshold into the disk (to implement + limit-less HttpInputFiles). + + + Taken from HttpRequest in mono (http://www.mono-project.com) + + + + + Client X.509 certificate, X.509 chain, and any SSL policy errors encountered + during the SSL stream creation + + + + + Initializes a new instance of the class. + + The certificate. + Client security certificate chain. + Any SSL policy errors encountered during the SSL stream creation. + + + + Client security certificate + + + + + Client security certificate chain + + + + + Any SSL policy errors encountered during the SSL stream creation + + + + + Credits and description: http://theinstructionlimit.com/?p=76 + + + Converted to .Net 2.0 + + + + + Session in the system + + + + + Gets or sets session id. + + + + + Factory creating null logger. + + + + + Initializes a new instance of the class. + + + + + Create a new logger. + + Type that requested a logger. + Logger for the specified type; + + MUST ALWAYS return a logger. Return if no logging + should be used. + + + + + Logger instance. + + + + + Provides resources. + + + + + Used to access resources. + + + + + Add a new resource loader. + + Provider to add. + Manager have been started. + + + + Check if a resource exists. + + Uri to check + true if found; otherwise false. + + + if (manager.Exists("/views/user/view.haml")) + return true + + + + + + Get a resource. + + Uri path to resource. + Resource if found; otherwise null. + + + Resource resource = manager.Get("/views/user/view.haml"); + + + + + + Start manager. + + + + + Gets number of resource providers + + + + + Get all view names from a folder. + + Path to find views in. + A collection of view names (without path). + + + + Add a new resource loader. + + Provider to add. + Manager have been started. + + + + Start manager. + + + + + Check if a resource exists. + + Uri to check + true if found; otherwise false. + + + if (manager.Exists("/views/user/view.haml")) + return true + + + + + + Get a resource. + + Uri path to resource. + Resource if found; otherwise null. + + + Resource resource = manager.Get("/views/user/view.haml"); + + + + + + Gets number of resource providers + + + + + Loads resources that are embedded in assemblies. + + + No locks used internally since all mappings are loaded during start up. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Path (Uri) requested by clients + Assembly that the resources exist in + Name space that the resources exist in + + + + Add a specific resource. + + Path (Uri) requested by clients + Assembly that the resources exist in + Name space to root folder under (all name spaces below the specified one are considered as folders) + Name space and name of resource. + + + Add("/", Assembly.GetExecutingAssembly(), "MyApplication.Files", "Myapplication.Files.Images.MyImage.png"); + + + + + + Add resources. + + Path (Uri) requested by clients + Assembly that the resources exist in + Name of resource, including name space. + true if file was found (and has not previously been added); otherwise false. + + + + + + Add resources in a specific path (will not work with sub folders) + + Path (Uri) requested by clients + Assembly that the resources exist in + Name space to root folder under which all name spaces exists in, + true if any files was found; otherwise false. + + + Adds all views in the specified folder. Sub folders are not supported since it's hard to determine + with parts are the path and witch parts are the filename. Use to get support + for sub folders. + + + + + Add("/user/", typeof(MyController).Assembly, "YourProject.Users.Views"); + + + + + + Add resources in a folder and it's sub folder + + + + + + This method is not going to map files but keep the mapping and + try to look up views every time they are requested. This is the method + to use to add a resource folder that has sub folders. + + + + + + Tries to load file by using previously added paths. + + Uri path including file name + + + + + Checks if a resource exists in the specified directory + + Uri path to resource + true if resource was found; otherwise false. + + + if (resources.Exists("/files/user/user.png")) + Debug.WriteLine("Resource exists."); + + + + + + Load a resource. + + Uri of resource. + Resource if found and loaded; otherwise null. + + + + Find all views in a folder/path. + + Uri path + Collection to add all view names to. + + + + Loads all files in a resource directory + + + + + + Gets or sets assembly that the resource exists in. + + + + + Gets or sets resource name. + + + + + Gets or sets full name space path to resource. + + + + + Gets or sets if this file is for a certain content type. + + + + + Gets or sets full "virtual" Uri path, excluding file name. + + + + + Gets or sets assembly + + + + + Gets or sets name space root. + + + + + Gets or sets uri path. + + + + + A list of request cookies. + + + + + Let's copy all the cookies. + + value from cookie header. + + + + Initializes a new instance of the class. + + + + + Adds a cookie in the collection. + + cookie to add + cookie is null + Name must be specified. + + + + Remove all cookies. + + + + + Remove a cookie from the collection. + + Name of cookie. + + + + Gets a collection enumerator on the cookie list. + + collection enumerator + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Gets the count of cookies in the collection. + + + + + Gets the cookie of a given identifier (null if not existing). + + + + + Collection of headers. + + + + + Collection of headers. + + + + + Gets a header + + header name. + header if found; otherwise null. + + + + Initializes a new instance of the class. + + Factory used to created headers. + + + + Adds a header + + + Will replace any existing header with the same name. + + header to add + header is null. + Header name cannot be null. + + + + Add a header. + + Header name + Header value + + Will try to parse the header and create a object. + + Header value is not correctly formatted. + name or value is null. + + + + Add a header. + + Header name + Header value + + Will try to parse the header and create a object. + + name or value is null. + + + + Get a header + + Type that it should be cast to + Name of header + Header if found and casted properly; otherwise null. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Gets a header + + header name. + header if found; otherwise null. + + + + Header for "Date" and "If-Modified-Since" + + + + The field value is an HTTP-date, as described in section 3.3.1 in RFC2616; + it MUST be sent in RFC 1123 [8]-date format. An example is + + Date: Tue, 15 Nov 1994 08:12:31 GMT + + Origin servers MUST include a Date header field in all + responses, except in these cases: + + If the response status code is 100 (Continue) or 101 (Switching + Protocols), the response MAY include a Date header field, at the server's + option. + If the response status code conveys a server error, e.g. 500 + (Internal Server Error) or 503 (Service Unavailable), and it is inconvenient + or impossible to generate a valid Date. + If the server does not have a clock that can provide a + reasonable approximation of the current time, its responses MUST NOT include + a Date header field. In this case, the rules in section 14.18.1 in RFC2616 + MUST be followed. + + + A received message that does not have a Date header field MUST + be assigned one by the recipient if the message will be cached by that + recipient or gatewayed via a protocol which requires a Date. An HTTP + implementation without a clock MUST NOT cache responses without revalidating + them on every use. An HTTP cache, especially a shared cache, SHOULD use a + mechanism, such as NTP [28], to synchronize its clock with a reliable + external standard. + Clients SHOULD only send a Date header field in messages that + include an entity-body, as in the case of the PUT and POST requests, and + even then it is optional. A client without a clock MUST NOT send a Date + header field in a request. + The HTTP-date sent in a Date header SHOULD NOT represent a date + and time subsequent to the generation of the message. It SHOULD represent + the best available approximation of the date and time of message generation, + unless the implementation has no means of generating a reasonably accurate + date and time. In theory, the date ought to represent the moment just before + the entity is generated. In practice, the date can be generated at any time + during the message origination without affecting its semantic value. + + + + + + Header name + + + + + Initializes a new instance of the class. + + Header name. + Name must not be empty. + + + + Initializes a new instance of the class. + + Header name. + Universal time. + + + + Returns data formatted as a HTTP header value. + + + A that represents the current . + + + + + Gets or sets date time. + + Should be in UTC. + + + + Gets header name + + + + + Type cached for fast property value modifications. + + + + + Get a property value. + + Instance to get value from. + Name of property. + Property value. + + + + Assign a value, try to convert it if it's not the same type as the property type. + + Object containing the property + Name of property + Value to convert and assign + Failed to find property. + Could not convert value type to property type. + + + + Assign value to a property + + Object containing the property + Name of property + Value to assign, must be of the same type as the property. + Failed to find property. + + + + Used to cache property information + + + + + Gets the property. + + The name. + + Failed to find property. + + + InvalidCastException. + + + + Get a property value. + + Instance to get value from. + Name of property. + Property value. + + + + Assign a value, try to convert it if it's not the same type as the property type. + + Object containing the property + Name of property + Value to convert and assign + Failed to find property. + Could not convert value type to property type. + + + + Assign value to a property + + Object containing the property + Name of property + Value to assign, must be of the same type as the property. + Failed to find property. + + + + Gets or sets member info + + + + + Gets or sets member type + + + + + Base interface to read string tokens from different sources. + + + + + Assign a new buffer + + Buffer to process. + Where to start process buffer + Buffer length + + + + Assign a new buffer + + Buffer to process + + + + Consume current character. + + + + + Consume specified characters + + One or more characters. + + + + Consumes horizontal white spaces (space and tab). + + + + + Consume horizontal white spaces and the specified character. + + Extra character to consume + + + + Checks if one of the remaining bytes are a specified character. + + Character to find. + true if found; otherwise false. + + + + Read a character. + + Character if not EOF; otherwise null. + + + + Get a text line. + + + Will merge multiline headers. + + + + Read quoted string + + string if current character (in buffer) is a quote; otherwise null. + + + + Read until end of string, or to one of the delimiters are found. + + characters to stop at + A string (can be ). + + Will not consume the delimiter. + + + + + Read until end of string, or to one of the delimiters are found. + + A string (can be ). + + Will not consume the delimiter. + + + + + Read to end of buffer, or until specified delimiter is found. + + Delimiter to find. + A string (can be ). + + Will not consume the delimiter. + + + + + Will read until specified delimiter is found. + + Character to stop at. + A string if the delimiter was found; otherwise null. + + Will trim away spaces and tabs from the end. + Will not consume the delimiter. + + + + + Read until one of the delimiters are found. + + characters to stop at + A string if one of the delimiters was found; otherwise null. + + Will trim away spaces and tabs from the end. + Will not consume the delimiter. + + + + + Read until a horizontal white space occurs. + + A string if a white space was found; otherwise null. + + + + Gets current character + + if end of buffer. + + + + Gets if end of buffer have been reached + + + + + Gets if more bytes can be processed. + + + + + Gets or sets current position in buffer. + + + THINK before you manually change the position since it can blow up + the whole parsing in your face. + + + + + Gets total length of buffer. + + + + + Gets or sets line number. + + + + + Gets next character + + if end of buffer. + + + + Gets number of bytes left. + + + + + Factory is used to create new logs in the system. + + + + + Assigns log factory being used. + + The log factory. + A factory have already been assigned. + + + + Create a new logger. + + Type that requested a logger. + Logger for the specified type; + + + + Component that should be registered in the container. + + + Register using all interfaces that is specified in this assembly. + + + + + Used to authenticate users + + + Authentication is requested by throwing + + + + + Request implementation. + + + + + Initializes a new instance of the class. + + The method. + The path. + The version. + + + + Get a header + + Type that it should be cast to + Name of header + Header if found and casted properly; otherwise null. + + + + Add a new header. + + + + + + + Add a new header. + + Header to add. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Gets a header. + + + + + + + Gets request URI. + + + + + Gets cookies. + + + + + Gets all uploaded files. + + + + + Gets query string and form parameters + + + + + Gets form parameters. + + + + + Gets query string. + + + + + Gets if request is an Ajax request. + + + + + Gets or sets connection header. + + + + + Gets or sets HTTP version. + + + + + Gets or sets HTTP method. + + + + + Gets requested URI. + + + + + Kind of content in the body + + Default is text/html + + + + Gets or sets encoding + + + + + Gets headers. + + + + + Gets body stream. + + + + + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. + + + Any specifically assigned value or Body stream length. + + + + + Event arguments used when a new header have been parsed. + + + + + Initializes a new instance of the class. + + Name of header. + Header value. + Name cannot be empty + value is null. + + + + Initializes a new instance of the class. + + + + + Gets or sets header name. + + + + + Gets or sets header value. + + + + + Collection of parameters. + + + or is not used since each parameter can + have multiple values. + + + + + Initializes a new instance of the class. + + Collections to merge. + + Later collections will overwrite parameters from earlier collections. + + + + + Initializes a new instance of the class. + + + + + Get a list of string arrays. + + + + + + Get parameters + + Sub array (text array) + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Get a parameter. + + + + + + + Add a query string parameter. + + Parameter name + Value + + + + Checks if the specified parameter exists + + Parameter name. + true if found; otherwise false; + + + + Gets number of parameters. + + + + + Gets last value of an parameter. + + Parameter name + String if found; otherwise null. + + + + Parses . + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Parses numerical values + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Parses . + + + + + Parse a header + + Name of header. + Reader containing value. + HTTP Header + Header value is not of the expected format. + + + + Request couldn't be parsed successfully. + + + + + Initializes a new instance of the class. + + Exception description. + + + + Initializes a new instance of the class. + + Exception description. + Exception description. + + + + Implements basic authentication scheme. + + + + + Create a response that can be sent in the WWW-Authenticate header. + + Realm that the user should authenticate in + Not used by basic authentication + A WWW-Authenticate header. + Argument is null. + + + + An authentication response have been received from the web browser. + Check if it's correct + + Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + Authentication object that is stored for the request. A user class or something like that. + if authenticationHeader is invalid + If any of the paramters is empty or null. + + + + Gets authenticator scheme + + + + digest + + + + + Reads strings from a byte array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Encoding to use when converting byte array to strings. + + + + Initializes a new instance of the class. + + Buffer to read from. + Encoding to use when converting byte array to strings. + + + + Assign a new buffer + + Buffer to process. + Where to start process buffer + Buffer length + Buffer needs to be a byte array + + + + Assign a new buffer + + Buffer to process + Buffer needs to be a byte array + + + + Consume current character. + + + + + Get a text line. + + + Will merge multi line headers. + + + + Read quoted string + + string if current character (in buffer) is a quote; otherwise null. + + + + Read until end of string, or to one of the delimiters are found. + + characters to stop at + + A string (can be ). + + + Will not consume the delimiter. + + InvalidOperationException. + + + + Read until end of string, or to one of the delimiters are found. + + A string (can be ). + + Will not consume the delimiter. + + + + + Read to end of buffer, or until specified delimiter is found. + + Delimiter to find. + + A string (can be ). + + + Will not consume the delimiter. + + InvalidOperationException. + + + + Consume specified characters + + One or more characters. + + + + Consumes horizontal white spaces (space and tab). + + + + + Consume horizontal white spaces and the specified character. + + Extra character to consume + + + + Read a character. + + + Character if not EOF; otherwise null. + + + + + Will read until specified delimiter is found. + + Character to stop at. + + A string if the delimiter was found; otherwise null. + + + Will trim away spaces and tabs from the end. + InvalidOperationException. + + + + Read until one of the delimiters are found. + + characters to stop at + + A string if one of the delimiters was found; otherwise null. + + + Will not consume the delimiter. + + InvalidOperationException. + + + + Read until a horizontal white space occurs. + + A string if a white space was found; otherwise null. + + + + Checks if one of the remaining bytes are a specified character. + + Character to find. + + true if found; otherwise false. + + + + + Gets or sets line number. + + + + + Gets if end of buffer have been reached + + + + + + Gets if more bytes can be processed. + + + + + + Gets next character + + if end of buffer. + + + + Gets current character + + if end of buffer. + + + + Gets or sets current position in buffer. + + + THINK before you manually change the position since it can blow up + the whole parsing in your face. + + + + + Gets total length of buffer. + + + + + + Gets number of bytes left. + + + + + Response to a request. + + + + + Redirect user. + + Where to redirect to. + + Any modifications after a redirect will be ignored. + + + + + Gets connection type. + + + + + Gets cookies. + + + + + Gets HTTP version. + + + Default is HTTP/1.1 + + + + + Information about why a specific status code was used. + + + + + Status code that is sent to the client. + + Default is + + + + Gets or sets content type + + + + + Request context + + + Contains information about a HTTP request and where it came from. + + + + + Gets or sets http context. + + + + + Gets or sets http request. + + + + + Gets or sets http response. + + + + + Contains numerical value. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Returns data formatted as a HTTP header value. + + + A that represents the current . + + + + + Gets value + + + + + Gets header name + + + + + Form parameters where form string arrays have been converted to real arrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Initializes a new instance of the class. + + Parse parameters from the this collection. + + + + Get a parameter. + + + + + + + Add a parameter + + Name of parameter, can contain a string array. + Value + + + ArrayParameterCollection array = new ArrayParameterCollection(); + array.Add("user[FirstName]", "Jonas"); + array.Add("user[FirstName]", "Arne"); + string firstName = array["user"]["FirstName"].Value; // "Arne" is returned + foreach (string value in array["user"]["FirstName"]) + Console.WriteLine(value); // each name is displayed. + + + + + + Checks if the specified parameter exists + + Parameter name. + true if found; otherwise false; + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Gets first value of an item. + + + String if found; otherwise null. + + + + Gets number of parameters. + + + + + Gets last value of an parameter. + + Parameter name + String if found; otherwise null. + + + + Assign properties from HTTP parameters. + + + + + Used to filter out properties. + + Filter handler. + Handler have already been set. + + + + Assign properties in the specified object. + + Object to fill. + Contains all parameters that should be assigned to the properties. + Properties was not found or value could not be converted. + Any parameter is null. + + + + Used to be able to filter properties + + Model having it's properties assigned + Property about to be assigned + Value to assign + true if value can be set; otherwise false. + + + + Failed to assign properties. + + + + + Initializes a new instance of the class. + + The property errors. + + + + Gets all errors during assignment. + + + Dictionary key is property name. + + + + + Used to read from a string object. + + + + + Initializes a new instance of the class. + + Buffer to process. + + + + Initializes a new instance of the class. + + + + + Assign a new buffer + + Buffer to process. + Where to start process buffer + Buffer length + MUST be of type . + buffer needs to be of type string + + + + Assign a new buffer + + Buffer to process + MUST be of type . + buffer needs to be of type string + + + + Consume current character. + + + + + Get a text line. + + + Will merge multiline headers. + + + + Read quoted string + + string if current character (in buffer) is a quote; otherwise null. + + + + Read until end of string, or to one of the delimiters are found. + + characters to stop at + A string (can be ). + InvalidOperationException. + + + + Read until end of string, or to one of the delimiters are found. + + A string (can be ). + + Will not consume the delimiter. + + + + + Read to end of buffer, or until specified delimiter is found. + + Delimiter to find. + A string (can be ). + InvalidOperationException. + + + + Consume specified characters + + One or more characters. + + + + Consumes horizontal white spaces (space and tab). + + + + + Read a character. + + + Character if not EOF; otherwise null. + + + + + Will read until specified delimiter is found. + + Character to stop at. + + A string if the delimiter was found; otherwise null. + + + Will trim away spaces and tabs from the end. + Will not consume the delimiter. + + InvalidOperationException. + + + + Read until one of the delimiters are found. + + characters to stop at + + A string if one of the delimiters was found; otherwise null. + + + Will not consume the delimiter. + + InvalidOperationException. + + + + Read until a horizontal white space occurs (or end, or end of line). + + + A string if a white space was found; otherwise null. + + + + + Consume horizontal white spaces and the specified character. + + Extra character to consume + + + + Checks if one of the remaining bytes are a specified character. + + Character to find. + + true if found; otherwise false. + + + + + Gets or sets line number. + + + + + Gets if end of buffer have been reached + + + + + + Gets if more bytes can be processed. + + + + + + Gets next character + + if end of buffer. + + + + Gets current character + + if end of buffer. + + + + Gets or sets current position in buffer. + + + THINK before you manually change the position since it can blow up + the whole parsing in your face. + + + + + Gets total length of buffer. + + + + + + Gets number of bytes left. + + + + + Default log writer, writes everything to void (nowhere). + + + + + + The logging instance. + + + + + Write an entry that helps when debugging code. + + Log message + + + + Write an entry that helps when debugging code. + + Log message + Thrown exception to log. + + + + Write a entry needed when following through code during hard to find bugs. + + Log message + + + + Write a entry that helps when trying to find hard to find bugs. + + Log message + Thrown exception to log. + + + + Informational message, needed when helping customer to find a problem. + + Log message + + + + Informational message, needed when helping customer to find a problem. + + Log message + Thrown exception to log. + + + + Something is not as we expect, but the code can continue to run without any changes. + + Log message + + + + Something is not as we expect, but the code can continue to run without any changes. + + Log message + Thrown exception to log. + + + + Something went wrong, but the application do not need to die. The current thread/request + cannot continue as expected. + + Log message + + + + Something went wrong, but the application do not need to die. The current thread/request + cannot continue as expected. + + Log message + Thrown exception to log. + + + + Something went very wrong, application might not recover. + + Log message + + + + Something went very wrong, application might not recover. + + Log message + Thrown exception to log. + + + + Priority for log entries + + + + + + Very detailed logs to be able to follow the flow of the program. + + + + + Logs to help debug errors in the application + + + + + Information to be able to keep track of state changes etc. + + + + + Something did not go as we expected, but it's no problem. + + + + + Something that should not fail failed, but we can still keep + on going. + + + + + Something failed, and we cannot handle it properly. + + + + + This class writes to the console. + + + It colors the output depending on the log level + and includes a 3-level stack trace (in debug mode) + + + + + + Initializes a new instance of the class. + + Type being logged. + Log filter. + + + + Get color for the specified log level + + Level for the log entry + A for the level + + + + Write an entry + + Importance of the log message + The message. + + + + Write an entry that helps when debugging code. + + Log message + + + + Write an entry that helps when debugging code. + + Log message + Thrown exception to log. + + + + Write a entry needed when following through code during hard to find bugs. + + Log message + + + + Write a entry that helps when trying to find hard to find bugs. + + Log message + Thrown exception to log. + + + + Informational message, needed when helping customer to find a problem. + + Log message + + + + Informational message, needed when helping customer to find a problem. + + Log message + Thrown exception to log. + + + + Something is not as we expect, but the code can continue to run without any changes. + + Log message + + + + Something is not as we expect, but the code can continue to run without any changes. + + Log message + Thrown exception to log. + + + + Something went wrong, but the application do not need to die. The current thread/request + cannot continue as expected. + + Log message + + + + Something went wrong, but the application do not need to die. The current thread/request + cannot continue as expected. + + Log message + Thrown exception to log. + + + + Something went very wrong, application might not recover. + + Log message + + + + Something went very wrong, application might not recover. + + Log message + Thrown exception to log. + + + + Gets or sets type that the logger is for + + + + + A HTTP context + + + + + + + + Context that received a HTTP request. + + + + + Disconnect context. + + + + + Gets if current context is using a secure connection. + + + + + Gets logger. + + + + + Gets remote end point + + + + + Gets stream used to send/receive data to/from remote end point. + + + + The stream can be any type of stream, do not assume that it's a network + stream. For instance, it can be a or a ZipStream. + + + + + + Gets the currently handled request + + The request. + + + + Gets the response that is going to be sent back + + The response. + + + + Initializes a new instance of the class. + + Socket received from HTTP listener. + Context used to parse incoming messages. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Disconnect context. + + + + + Close and release socket. + + + + + Create stream used to send and receive bytes from the socket. + + Socket to wrap + Stream + Stream could not be created. + + + + Interpret incoming data. + + + + + + A request was received from the parser. + + + + + + + Parse all complete requests in buffer. + + + offset in buffer where parsing stopped. + Parsing failed. + + + + Start content. + + A socket operation failed. + Reading from stream failed. + + + + Gets currently executing HTTP context. + + + + + Gets or sets description + + + + + gets factory used to build request objects + + + + + Gets socket + + + + + Gets remove end point + + + + + Gets network stream. + + + + + Gets the currently handled request + + The request. + + + + Gets the response that is going to be sent back + + The response. + + + + Gets logger. + + + + + Gets if current context is using a secure connection. + + + + + Triggered for all requests in the server (after the response have been sent) + + + + + Triggered for current request (after the response have been sent) + + + + + A new request have been received. + + + + + A new request have been received (invoked for ALL requests) + + + + + Client have been disconnected. + + + + + Client asks if he may continue. + + + If the body is too large or anything like that you should respond . + + + + + Initializes a new instance of the class. + + SSL protocol to use. + The socket. + The context. + Server certificate to use. + + + + Create stream used to send and receive bytes from the socket. + + Socket to wrap + Stream + Stream could not be created. + + + + Gets or sets client certificate. + + + + + Gets used protocol. + + + + + Gets or sets if client certificate should be used instead of server certificate. + + + + + Resource information. + + + Used by content providers to be able to get information + on resources (views, files etc). + + + + + Gets or sets date when resource was modified. + + + if not used. + + + Should always be universal time. + + + + + Gets or sets resource stream. + + + + + Contains parameters for HTTP headers. + + + + + Add a parameter + + name + value + + Existing parameter with the same name will be replaced. + + + + + Parse parameters. + + Parser containing buffer to parse. + A collection with all parameters (or just a empty collection). + Expected a value after equal sign. + + + + Parse parameters. + + Parser containing buffer to parse. + Parameter delimiter + A collection with all parameters (or just a empty collection). + Expected a value after equal sign. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets a value + + parameter name + value if found; otherwise null. + + + + Create a HTTP response object. + + + + + Initializes a new instance of the class. + + HTTP Version. + HTTP status code. + Why the status code was selected. + Version must start with 'HTTP/' + + + + Initializes a new instance of the class. + + Context that the response will be sent through. + Request that the response is for. + Version must start with 'HTTP/' + + + + Redirect user. + + Where to redirect to. + + Any modifications after a redirect will be ignored. + + + + + Add a new header. + + + + + + + Add a new header. + + Header to add. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Gets a header. + + + + + + + Gets connection type. + + + + + Status code that is sent to the client. + + Default is + + + + Gets HTTP version. + + + Default is HTTP/1.1 + + + + + Information about why a specific status code was used. + + + + + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. + + + Any specifically assigned value or Body stream length. + + + + + Kind of content in the body + + Default is text/html + + + + Gets or sets encoding + + + + + Gets cookies. + + + + + Gets body stream. + + + + + Gets headers. + + + + + A request have been received. + + + + + Initializes a new instance of the class. + + The request. + End point that the request was received from. + + + + End point that the message was received from. + + + + + Received request. + + + + + Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules + a regular expression can be used to identify redirect URLs and their targets. + + + [a-z0-9]+)", "/users/${target}/?find=true", RegexOptions.IgnoreCase) + ]]> + + + + + Initializes a new instance of the class. + + Expression to match URL + Expression to generate URL + + [a-zA-Z0-9]+)", "/user/${first}")); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + + + + Initializes a new instance of the class. + + Expression to match URL + Expression to generate URL + Regular expression options to use, can be null + + [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + + + + Initializes a new instance of the class. + + Expression to match URL + Expression to generate URL + Regular expression options to apply + true if request should be redirected, false if the request URI should be replaced. + + [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + Argument is null. + + + + + Process the incoming request. + + Request context. + Processing result. + If any parameter is null. + + + + cookie being sent back to the browser. + + + + + + Constructor. + + cookie identifier + cookie content + cookie expiration date. Use for session cookie. + id or content is null + id is empty + + + + Create a new cookie + + name identifying the cookie + cookie value + when the cookie expires. Setting will delete the cookie when the session is closed. + Path to where the cookie is valid + Domain that the cookie is valid for. + + + + Create a new cookie + + Name and value will be used + when the cookie expires. + + + + Gets the cookie HTML representation. + + cookie string + + + + Gets when the cookie expires. + + means that the cookie expires when the session do so. + + + + Gets path that the cookie is valid under. + + + + + The Cache-Control general-header field is used to specify directives that + MUST be obeyed by all caching mechanisms along the request/response + chain. . + + + + The directives specify behavior intended to prevent caches from adversely + interfering with the request or response. These directives typically + override the default caching algorithms. Cache directives are + unidirectional in that the presence of a directive in a request does not + imply that the same directive is to be given in the response. + Note that HTTP/1.0 caches might not implement Cache-Control and + might only implement Pragma: no-cache (see section 14.32 in RFC2616). + Cache directives MUST be passed through by a proxy or gateway + application, regardless of their significance to that application, since the + directives might be applicable to all recipients along the request/response + chain. It is not possible to specify a cache- directive for a specific cache + + + When a directive appears without any 1#field-name parameter, the + directive applies to the entire request or response. When such a + directive appears with a 1#field-name parameter, it applies only to + the named field or fields, and not to the rest of the request or + response. This mechanism supports extensibility; implementations of + future versions of the HTTP protocol might apply these directives to + header fields not defined in HTTP/1.1. + + + The cache-control directives can be broken down into these general + categories: + + + Restrictions on what are cacheable; these may only be imposed by + the origin server. + + Restrictions on what may be stored by a cache; these may be + imposed by either the origin server or the user agent. + + Modifications of the basic expiration mechanism; these may be + imposed by either the origin server or the user agent. + + Controls over cache revalidation and reload; these may only be + imposed by a user agent. + + Control over transformation of entities. + + Extensions to the caching system. + + + + + + + + Header name + + + + + Gets header name + + + + + Serves files in the web server. + + + + FileModule fileModule = new FileModule(); + fileModule.Resources.Add(new FileResources("/", "C:\\inetpub\\myweb")); + + + + + + Initializes a new instance of the class. + + baseUri or basePath is null. + + + + Mime types that this class can handle per default + + + Contains the following mime types: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Will send a file to client. + + HTTP context containing outbound stream. + Response containing headers. + File stream + + + + Process a request. + + Request information + What to do next. + Failed to find file extension + Forbidden file type. + + + + Gets a list with all allowed content types. + + All other mime types will result in . + + + + Gets provider used to add files to the file manager, + + + + + Collection of files. + + + + + Checks if a file exists. + + Name of the file (form item name) + + + + + Add a new file. + + File to add. + + + + Remove all files from disk. + + + + + Get a file + + Name in form + File if found; otherwise null. + + + + Gets number of files + + + +