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