diff --git a/HttpBins/HttpServer.dll b/HttpBins/HttpServer.dll
index bf543068..b87662e7 100644
Binary files a/HttpBins/HttpServer.dll and b/HttpBins/HttpServer.dll differ
diff --git a/HttpBins/HttpServer.pdb b/HttpBins/HttpServer.pdb
index f1cfd83f..b1eaaeeb 100644
Binary files a/HttpBins/HttpServer.pdb and b/HttpBins/HttpServer.pdb differ
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
+
+
+
+