From 5e4d6cab00cb29cd088ab7b62ab13aff103b64cb Mon Sep 17 00:00:00 2001
From: onefang
Date: Sun, 19 May 2019 21:24:15 +1000
Subject: Dump OpenSim 0.9.0.1 into it's own branch.
---
bin/Community.CsharpSqlite.Sqlite.dll | Bin 39424 -> 0 bytes
bin/Community.CsharpSqlite.dll | Bin 659456 -> 0 bytes
bin/HttpServer_OpenSim.dll | Bin 116224 -> 117248 bytes
bin/HttpServer_OpenSim.pdb | Bin 355840 -> 323072 bytes
bin/HttpServer_OpenSim.xml | 6796 ++--
bin/MySql.Data.dll | Bin 353792 -> 424448 bytes
bin/Newtonsoft.Json.xml | 8626 +++++
bin/Npgsql.dll | Bin 413184 -> 342016 bytes
bin/Npgsql.xml | 5656 +--
bin/Ode.NET.dll | Bin 51200 -> 0 bytes
bin/Ode.NET.dll.config | 7 -
bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 28672 bytes
bin/OpenMetaverse.StructuredData.XML | 349 -
bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes
bin/OpenMetaverse.XML | 36240 -------------------
bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes
bin/OpenMetaverseTypes.XML | 2602 --
bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes
bin/OpenSim.32BitLaunch.exe.config | 75 -
bin/OpenSim.32BitLaunch.pdb | Bin 11776 -> 0 bytes
bin/OpenSim.ConsoleClient.exe.config | 2 +-
bin/OpenSim.Region.PhysicsModule.Ode.dll.config | 7 +
bin/OpenSim.Region.PhysicsModule.ubOde.dll.config | 7 +
bin/OpenSim.exe.config | 21 +-
bin/OpenSim.ini.example | 265 +-
bin/OpenSim32.exe.config | 75 +
bin/RestSharp.xml | 3024 ++
bin/Robust.32BitLaunch.exe.config | 63 -
bin/Robust.HG.ini.example | 160 +-
bin/Robust.Tests.dll.config | 2 +-
bin/Robust.exe.config | 18 +-
bin/Robust.ini.example | 100 +-
bin/Robust32.exe.config | 72 +
bin/Robust32.vshost.exe.config | 72 +
bin/Warp3D.dll | Bin 77824 -> 68608 bytes
bin/assets/TexturesAssetSet/defaultalpha.jp2 | Bin 0 -> 319 bytes
bin/config-include/CenomeCache.ini.example | 14 +
bin/config-include/FlotsamCache.ini.example | 97 +
bin/config-include/Grid.ini | 60 +
bin/config-include/GridCommon.ini.example | 249 +
bin/config-include/GridHypergrid.ini | 87 +
bin/config-include/HyperSimianGrid.ini | 97 +
bin/config-include/SimianGrid.ini | 77 +
bin/config-include/Standalone.ini | 122 +
bin/config-include/StandaloneCommon.ini.example | 398 +
bin/config-include/StandaloneHypergrid.ini | 199 +
bin/config-include/osslEnable.ini | 266 +
bin/config-include/storage/SQLiteStandalone.ini | 39 +
bin/enter_uuid.xml | 7 +
.../BodyPartsLibrary/BodyPartsLibraryItems.xml | 34 +-
.../ClothingLibrary/ClothingLibraryItems.xml | 18 +-
bin/lib32/BulletSim.dll | Bin 1338880 -> 1484800 bytes
bin/lib32/libBulletSim.dylib | Bin 1439996 -> 2243876 bytes
bin/lib32/libBulletSim.so | Bin 2312132 -> 2376133 bytes
bin/lib32/libode.dylib | Bin 0 -> 2490468 bytes
bin/lib32/libode.so | Bin 3051566 -> 4386269 bytes
bin/lib32/ode.dll | Bin 496640 -> 541696 bytes
bin/lib64/BulletSim.dll | Bin 1547264 -> 1653760 bytes
bin/lib64/libBulletSim.dylib | Bin 0 -> 2243876 bytes
bin/lib64/libBulletSim.so | Bin 2475617 -> 2544706 bytes
bin/lib64/libode-x86_64.so | Bin 5546089 -> 5813749 bytes
bin/lib64/libode.dylib | Bin 2916380 -> 2490468 bytes
bin/lib64/ode.dll | Bin 656384 -> 635904 bytes
bin/openmetaverse_data/avatar_skeleton.xml | 81 +
bin/opensim-ode.sh | 4 -
bin/opensim.sh | 5 +
bin/pCampBot.exe.config | 4 +-
bin/pCampBot.ini.example | 4 +-
bin/set_object_owner.xml | 8 +
69 files changed, 21030 insertions(+), 45079 deletions(-)
delete mode 100755 bin/Community.CsharpSqlite.Sqlite.dll
delete mode 100755 bin/Community.CsharpSqlite.dll
create mode 100644 bin/Newtonsoft.Json.xml
mode change 100755 => 100644 bin/Npgsql.dll
delete mode 100755 bin/Ode.NET.dll
delete mode 100644 bin/Ode.NET.dll.config
delete mode 100644 bin/OpenMetaverse.StructuredData.XML
delete mode 100644 bin/OpenMetaverse.XML
delete mode 100644 bin/OpenMetaverseTypes.XML
delete mode 100644 bin/OpenSim.32BitLaunch.exe.config
delete mode 100644 bin/OpenSim.32BitLaunch.pdb
create mode 100644 bin/OpenSim.Region.PhysicsModule.Ode.dll.config
create mode 100644 bin/OpenSim.Region.PhysicsModule.ubOde.dll.config
mode change 100644 => 100755 bin/OpenSim.exe.config
create mode 100644 bin/OpenSim32.exe.config
create mode 100644 bin/RestSharp.xml
delete mode 100644 bin/Robust.32BitLaunch.exe.config
create mode 100644 bin/Robust32.exe.config
create mode 100644 bin/Robust32.vshost.exe.config
create mode 100644 bin/assets/TexturesAssetSet/defaultalpha.jp2
create mode 100644 bin/config-include/CenomeCache.ini.example
create mode 100644 bin/config-include/FlotsamCache.ini.example
create mode 100644 bin/config-include/Grid.ini
create mode 100644 bin/config-include/GridCommon.ini.example
create mode 100644 bin/config-include/GridHypergrid.ini
create mode 100644 bin/config-include/HyperSimianGrid.ini
create mode 100644 bin/config-include/SimianGrid.ini
create mode 100644 bin/config-include/Standalone.ini
create mode 100644 bin/config-include/StandaloneCommon.ini.example
create mode 100644 bin/config-include/StandaloneHypergrid.ini
create mode 100644 bin/config-include/osslEnable.ini
create mode 100644 bin/config-include/storage/SQLiteStandalone.ini
create mode 100644 bin/enter_uuid.xml
create mode 100755 bin/lib32/libode.dylib
mode change 100644 => 100755 bin/lib32/libode.so
create mode 100755 bin/lib64/libBulletSim.dylib
mode change 100644 => 100755 bin/lib64/libode-x86_64.so
mode change 100644 => 100755 bin/lib64/libode.dylib
create mode 100644 bin/openmetaverse_data/avatar_skeleton.xml
delete mode 100755 bin/opensim-ode.sh
create mode 100755 bin/opensim.sh
create mode 100644 bin/set_object_owner.xml
(limited to 'bin')
diff --git a/bin/Community.CsharpSqlite.Sqlite.dll b/bin/Community.CsharpSqlite.Sqlite.dll
deleted file mode 100755
index 93ac7bd..0000000
Binary files a/bin/Community.CsharpSqlite.Sqlite.dll and /dev/null differ
diff --git a/bin/Community.CsharpSqlite.dll b/bin/Community.CsharpSqlite.dll
deleted file mode 100755
index a2e4513..0000000
Binary files a/bin/Community.CsharpSqlite.dll and /dev/null differ
diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll
index 38a4cb7..5db99ef 100755
Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ
diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb
index cfff9a7..25b6760 100644
Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ
diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml
index 61c3ad8..7b6912e 100644
--- a/bin/HttpServer_OpenSim.xml
+++ b/bin/HttpServer_OpenSim.xml
@@ -4,562 +4,522 @@
HttpServer_OpenSim
-
+
- Delegate used to find a realm/domain.
+ Delegate used to let authentication modules authenticate the user name and password.
-
-
+ Realm that the user want to authenticate in
+ User name specified by client
+ Can either be user password or implementation specific token.
+ object that will be stored in a session variable called if authentication was successful.
+ throw forbidden exception if too many attempts have been made.
- Realms are used during HTTP Authentication
+
+ Use to specify that the token is a HA1 token. (MD5 generated
+ string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password);
+
-
-
-
-
-
- A complete HTTP server, you need to add a module to it to be able to handle incoming requests.
-
-
-
- // this small example will add two web site modules, thus handling
- // two different sites. In reality you should add Controller modules or something
- // two the website modules to be able to handle different requests.
- HttpServer server = new HttpServer();
- server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB"));
- server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX"));
-
- // start regular http
- server.Start(IPAddress.Any, 80);
-
- // start https
- server.Start(IPAddress.Any, 443, myCertificate);
-
-
-
-
-
-
+
- Initializes a new instance of the class.
+ Let's you decide on a system level if authentication is required.
- Used to get all components used in the server..
+ HTTP request from client
+ true if user should be authenticated.
+ throw if no more attempts are allowed.
+ If no more attempts are allowed
-
+
- Initializes a new instance of the class.
+ Authentication modules are used to implement different
+ kind of HTTP authentication.
-
+
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
- Form decoders are used to convert different types of posted data to the object types.
-
-
+ Delegate used to provide information used during authentication.
+ Delegate used to determine if authentication is required (may be null).
-
+
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
- A session store is used to save and retrieve sessions
-
+ Delegate used to provide information used during authentication.
-
+
- Initializes a new instance of the class.
+ name used in HTTP request.
- The log writer.
-
-
+
- Initializes a new instance of the class.
+ Tag used for authentication.
- Form decoders are used to convert different types of posted data to the object types.
- The log writer.
-
-
-
-
+
- Initializes a new instance of the class.
+ Create a response that can be sent in the WWW-Authenticate header.
- Form decoders are used to convert different types of posted data to the object types.
- A session store is used to save and retrieve sessions
- The log writer.
-
-
-
-
+ Realm that the user should authenticate in
+ Array with optional options.
+ A correct authentication request.
+ If realm is empty or null.
-
+
- Adds the specified rule.
+ An authentication response have been received from the web browser.
+ Check if it's correct
- The rule.
+ Contents from the Authorization header
+ Realm that should be authenticated
+ GET/POST/PUT/DELETE etc.
+ options to specific implementations
+ Authentication object that is stored for the request. A user class or something like that.
+ if is invalid
+ If any of the parameters is empty or null.
-
+
- Add a to the server.
+ Used to invoke the authentication delegate that is used to lookup the user name/realm.
- mode to add
+ Realm (domain) that user want to authenticate in
+ User name
+ Password used for validation. Some implementations got password in clear text, they are then sent to client.
+ object that will be stored in the request to help you identify the user if authentication was successful.
+ true if authentication was successful
-
+
- Decodes the request body.
+ Determines if authentication is required.
- The request.
- Failed to decode form data.
+ HTTP request from browser
+ true if user should be authenticated.
+ throw from your delegate if no more attempts are allowed.
+ If no more attempts are allowed
-
+
- Generate a HTTP error page (that will be added to the response body).
- response status code is also set.
+ The "basic" authentication scheme is based on the model that the
+ client must authenticate itself with a user-ID and a password for
+ each realm. The realm value should be considered an opaque string
+ which can only be compared for equality with other realms on that
+ server. The server will service the request only if it can validate
+ the user-ID and password for the protection space of the Request-URI.
+ There are no optional authentication parameters.
- Response that the page will be generated in.
- .
- response body contents.
-
+
- Generate a HTTP error page (that will be added to the response body).
- response status code is also set.
+ Initializes a new instance of the class.
- Response that the page will be generated in.
- exception.
+ Delegate used to provide information used during authentication.
+ Delegate used to determine if authentication is required (may be null).
-
+
- Realms are used by the s.
+ Initializes a new instance of the class.
- HTTP request
- domain/realm.
+ Delegate used to provide information used during authentication.
-
+
- Process an incoming request.
+ Create a response that can be sent in the WWW-Authenticate header.
- connection to client
- request information
- response that should be filled
- session information
+ Realm that the user should authenticate in
+ Not used in basic auth
+ A correct auth request.
-
+
- Can be overloaded to implement stuff when a client have been connected.
+ An authentication response have been received from the web browser.
+ Check if it's correct
-
- Default implementation does nothing.
-
- client that disconnected
- disconnect reason
+ Contents from the Authorization header
+ Realm that should be authenticated
+ GET/POST/PUT/DELETE etc.
+ Not used in basic auth
+ 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.
-
+
- Handle authentication
+ name used in http request.
-
-
-
- true if request can be handled; false if not.
- Invalid authorization header
-
+
- Will request authentication.
+ Implements HTTP Digest authentication. It's more secure than Basic auth since password is
+ encrypted with a "key" from the server.
- Sends respond to client, nothing else can be done with the response after this.
+ Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
-
-
-
-
-
-
- Received from a when a request have been parsed successfully.
-
- that received the request.
- The request.
-
+
- To be able to track request count.
+ Initializes a new instance of the class.
-
-
+ Delegate used to provide information used during authentication.
+ Delegate used to determine if authentication is required (may be null).
-
+
- Start the web server using regular HTTP.
+ Initializes a new instance of the class.
- IP Address to listen on, use IpAddress.Any to accept connections on all IP addresses/network cards.
- Port to listen on. 80 can be a good idea =)
- address is null.
- Port must be a positive number.
+ Delegate used to provide information used during authentication.
-
+
- Accept secure connections.
+ Used by test classes to be able to use hardcoded values
- IP Address to listen on, use to accept connections on all IP Addresses / network cards.
- Port to listen on. 80 can be a good idea =)
- Certificate to use
- address is null.
- Port must be a positive number.
-
+
- shut down the server and listeners
+ name used in http request.
-
+
- write an entry to the log file
+ An authentication response have been received from the web browser.
+ Check if it's correct
- importance of the message
- log message
-
-
-
- write an entry to the log file
-
- object that wrote the message
- importance of the message
- log message
+ Contents from the Authorization header
+ Realm that should be authenticated
+ GET/POST/PUT/DELETE etc.
+ First option: true if username/password is correct but not cnonce
+
+ 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.
-
+
- Server that is handling the current request.
+ Gets or sets whether the token supplied in is a
+ HA1 generated string.
-
- Will be set as soon as a request arrives to the object.
-
-
+
- Modules used for authentication. The module that is is added first is used as
- the default authentication module.
+ Encrypts parameters into a Digest string
- Use the corresponding property
- in the if you are using multiple websites.
+ 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
-
+
- Form decoder providers are used to decode request body (which normally contains form data).
+
+ 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
+
-
+
- Server name sent in HTTP responses.
+ Create a response that can be sent in the WWW-Authenticate header.
-
- Do NOT include version in name, since it makes it
- easier for hackers.
-
+ Realm that the user should authenticate in
+ First options specifies if true if username/password is correct but not cnonce.
+ A correct auth request.
+ If realm is empty or null.
-
+
- Name of cookie where session id is stored.
+ Decodes authorization header value
+ header value
+ Encoding that the buffer is in
+ All headers and their values if successful; otherwise null
+
+ NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
+
+ Can handle lots of whitespaces and new lines without failing.
-
+
- Specified where logging should go.
+ Gets the current nonce.
-
-
-
+
-
+
- Number of connections that can wait to be accepted by the server.
+ Gets the Md5 hash bin hex2.
- Default is 10.
+ To be hashed.
+
-
+
- Gets or sets maximum number of allowed simultaneous requests.
+ determines if the nonce is valid or has expired.
-
-
- This property is useful in busy systems. The HTTP server
- will start queuing new requests if this limit is hit, instead
- of trying to process all incoming requests directly.
-
-
- The default number if allowed simultaneous requests are 10.
-
-
+ nonce value (check wikipedia for info)
+ true if the nonce has not expired.
-
+
- Gets or sets maximum number of requests queuing to be handled.
+ Small design by contract implementation.
-
-
- The WebServer will start turning requests away if response code
- to indicate that the server
- is too busy to be able to handle the request.
-
-
-
+
- Realms are used during HTTP authentication.
- Default realm is same as server name.
+ Check whether a parameter is empty.
+ Parameter value
+ Parameter name, or error description.
+ value is empty.
-
+
- Let's to receive unhandled exceptions from the threads.
+ Checks whether a parameter is null.
-
- Exceptions will be thrown during debug mode if this event is not used,
- exceptions will be printed to console and suppressed during release mode.
-
+ Parameter value
+ Parameter name, or error description.
+ value is null.
-
+
- Serves files that are stored in embedded resources.
+ Checks whether a parameter is null.
+
+ Parameter value
+ Parameter name, or error description.
+ value is null.
-
+
- A HttpModule can be used to serve Uri's. The module itself
- decides if it should serve a Uri or not. In this way, you can
- get a very flexible http application since you can let multiple modules
- serve almost similar urls.
+ Invoked when a client have been accepted by the
- Throw if you are using a and want to prompt for user name/password.
+ Can be used to revoke incoming connections
-
+
- Method that process the url
+ Initializes a new instance of the class.
- Information sent by the browser about the request
- Information that is being sent back to the client.
- Session used to
- true if this module handled the request.
+ The socket.
-
+
- Set the log writer to use.
+ Accepted socket.
- logwriter to use.
-
+
- Log something.
+ Client should be revoked.
- importance of log message
- message
-
+
- If true specifies that the module doesn't consume the processing of a request so that subsequent modules
- can continue processing afterwards. Default is false.
+ Client may not be handled.
-
+
- Initializes a new instance of the class.
- Runs to make sure the basic mime types are available, they can be cleared later
- through the use of if desired.
+ Add a component instance
+ Interface type
+ Instance to add
-
+
- Initializes a new instance of the class.
- Runs to make sure the basic mime types are available, they can be cleared later
- through the use of if desired.
+ Get a component.
- The log writer to use when logging events
+ Interface type
+ Component if registered, otherwise null.
+
+ Component will get created if needed.
+
-
+
+ If instance cannot be created.
+
+
- Mimtypes that this class can handle per default
+ Checks if the specified component interface have been added.
+
+ true if found; otherwise false.
-
+
- Loads resources from a namespace in the given assembly to an uri
+ Add a component.
- The uri to map the resources to
- The assembly in which the resources reside
- The namespace from which to load the resources
-
- resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
-
- will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css
-
- The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded
+ Type being requested.
+ Type being created.
+ Type have already been mapped.
-
+
- Returns true if the module can handle the request
+ Lists content type mime types.
-
+
- Method that process the url
+ text/plain
- Information sent by the browser about the request
- Information that is being sent back to the client.
- Session used to
- true if this module handled the request.
-
+
- List with all mime-type that are allowed.
+ text/haml
- All other mime types will result in a Forbidden http status code.
-
+
- Contains some kind of input from the browser/client.
- can be QueryString, form data or any other request body content.
+ content type for javascript documents = application/javascript
+
+
+ RFC 4329 states that text/javascript have been superseeded by
+ application/javascript. You might still want to check browser versions
+ since older ones do not support application/javascript.
+
+ Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/
+
-
+
- Base class for request data containers
+ text/xml
-
+
- Adds a parameter mapped to the presented name
+ A list of content types
- The name to map the parameter to
- The parameter value
-
+
- Returns true if the container contains the requested parameter
+
- Parameter id
- True if parameter exists
+ Semicolon separated content types.
-
+
- Returns a request parameter
+ Get this first content type.
- The name associated with the parameter
-
-
-
- Representation of a non-initialized class instance
-
- Variable telling the class that it is non-initialized
-
-
+
- Initializes a new instance of the class.
+ Fetch a content type
- form name.
+ Part of type ("xml" would return "application/xml")
+
+ All content types are in lower case.
-
+
- Initializes a new instance of the class.
+ Returns an enumerator that iterates through a collection.
- form name.
- if set to true all changes will be ignored.
- this constructor should only be used by Empty
-
-
- Creates a deep copy of the HttpInput class
- The object to copy
- The function makes a deep copy of quite a lot which can be slow
+
+ An object that can be used to iterate through the collection.
+
-
+
- Add a new element. Form array elements are parsed
- and added in a correct hierarchy.
+ Searches for the specified type
- Name is converted to lower case.
-
- name is null.
- Cannot add stuff to .
+ Can also be a part of a type (searching for "xml" would return true for "application/xml").
+ true if type was found.
-
+
- Returns true if the class contains a with the corresponding name.
+ Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive.
- The field/query string name
- True if the value exists
-
+
- Parses an item and returns it.
- This function is primarily used to parse array items as in user[name].
+ Use a Thread or a Timer to monitor the ugly
-
-
-
-
- Outputs the instance representing all its values joined together
-
+
+
+ Causes the watcher to immediately check the connections.
+
-
- Returns all items as an unescaped query string.
+
+
+ Environment.TickCount is an int but it counts all 32 bits so it goes positive
+ and negative every 24.9 days. This trims down TickCount so it doesn't wrap
+ for the callers.
+ This trims it to a 12 day interval so don't let your frame time get too long.
+
-
+
- Extracts one parameter from an array
+ Environment.TickCount is an int but it counts all 32 bits so it goes positive
+ and negative every 24.9 days. Subtracts the passed value (previously fetched by
+ 'EnvironmentTickCount()') and accounts for any wrapping.
- Containing the string array
- All but the first value
-
- string test1 = ExtractOne("system[user][extension][id]");
- string test2 = ExtractOne(test1);
- string test3 = ExtractOne(test2);
- // test1 = user[extension][id]
- // test2 = extension[id]
- // test3 = id
-
+
+
+ subtraction of passed prevValue from current Environment.TickCount
-
- Resets all data contained by class
+
+
+ Environment.TickCount is an int but it counts all 32 bits so it goes positive
+ and negative every 24.9 days. Subtracts the passed value (previously fetched by
+ 'EnvironmentTickCount()') and accounts for any wrapping.
+
+
+
+ subtraction of passed prevValue from current Environment.TickCount
-
+
- Returns an enumerator that iterates through the collection.
+ Environment.TickCount is an int but it counts all 32 bits so it goes positive
+ and negative every 24.9 days. Subtracts the passed value (previously fetched by
+ 'EnvironmentTickCount()') and accounts for any wrapping.
-
-
- A that can be used to iterate through the collection.
-
- 1
+ subtraction of passed prevValue from current Environment.TickCount
-
+
- Returns an enumerator that iterates through a collection.
+ We dont want to let the server to die due to exceptions thrown in worker threads.
+ therefore we use this delegate to give you a change to handle uncaught exceptions.
+ Class that the exception was thrown in.
+ Exception
+
+ Server will throw a InternalServerException in release version if you dont
+ handle this delegate.
+
+
+
+
+ The request could not be understood by the server due to malformed syntax.
+ The client SHOULD NOT repeat the request without modifications.
-
- An object that can be used to iterate through the collection.
-
- 2
+ Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
+
-
+
- Form name as lower case
+ Create a new bad request exception.
+ reason to why the request was bad.
-
+
- Get a form item.
+ Create a new bad request exception.
-
- Returns if item was not found.
+ reason to why the request was bad.
+ inner exception
@@ -572,6 +532,12 @@
Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
+
+
+ Initializes a new instance of the class.
+
+ error message
+
All HTTP based exceptions will derive this class.
@@ -597,289 +563,217 @@
status code to use in the response.
-
+
- Initializes a new instance of the class.
+ The server encountered an unexpected condition which prevented it from fulfilling the request.
- error message
-
+
- This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie).
- The framework might switch class in the future and we dont want to have to replace all instances
+ Initializes a new instance of the class.
-
+
- Let's copy all the cookies.
+ Initializes a new instance of the class.
- value from cookie header.
+ error message.
-
+
- Adds a cookie in the collection.
+ Initializes a new instance of the class.
- cookie to add
- cookie is null
+ error message.
+ inner exception.
-
+
- Gets a collection enumerator on the cookie list.
+ The requested resource was not found in the web server.
- collection enumerator
-
+
- Remove all cookies.
+ Create a new exception
+ message describing the error
+ inner exception
-
+
- Returns an enumerator that iterates through the collection.
+ Create a new exception
-
-
- A that can be used to iterate through the collection.
-
- 1
+ message describing the error
-
+
- Remove a cookie from the collection.
+ The request requires user authentication. The response MUST include a
+ WWW-Authenticate header field (section 14.47) containing a challenge
+ applicable to the requested resource.
+
+ The client MAY repeat the request with a suitable Authorization header
+ field (section 14.8). If the request already included Authorization
+ credentials, then the 401 response indicates that authorization has been
+ refused for those credentials. If the 401 response contains the same challenge
+ as the prior response, and the user agent has already attempted authentication
+ at least once, then the user SHOULD be presented the entity that was given in the response,
+ since that entity might include relevant diagnostic information.
+
+ HTTP access authentication is explained in rfc2617:
+ http://www.ietf.org/rfc/rfc2617.txt
+
+ (description is taken from
+ http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2)
- Name of cookie.
-
+
- Gets the count of cookies in the collection.
+ Create a new unauhtorized exception.
+
-
+
- Gets the cookie of a given identifier (null if not existing).
+ Create a new unauhtorized exception.
+ reason to why the request was unauthorized.
+ inner exception
-
+
- Contains a connection to a browser/client.
+ Create a new unauhtorized exception.
+ reason to why the request was unauthorized.
-
-
- Disconnect from client
-
- error to report in the event.
-
-
-
- Send a response.
-
- Either or
- HTTP status code
- reason for the status code.
- HTML body contents, can be null or empty.
- A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty
- If is invalid.
-
-
-
- Send a response.
-
- Either or
- HTTP status code
- reason for the status code.
-
-
+
- Send a response.
+ This provider is used to let us implement any type of form decoding we want without
+ having to rewrite anything else in the server.
-
-
+
- send a whole buffer
+
- buffer to send
-
+ Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959
+ Stream containing form data.
+ Encoding used when decoding the stream
+ if no parser was found.
+ If stream is null or not readable.
+ If stream contents cannot be decoded properly.
-
+
- Send data using the stream
+ Add a decoder.
- Contains data to send
- Start position in buffer
- number of bytes to send
+
-
-
+
- Closes the streams and disposes of the unmanaged resources
+ Number of added decoders.
-
+
- Using SSL or other encryption method.
+ Use with care.
-
+
- Using SSL or other encryption method.
+ Decoder used for unknown content types.
-
-
- The context have been disconnected.
-
-
- Event can be used to clean up a context, or to reuse it.
-
+
+ Represents a field in a multipart form
-
+
- A request have been received in the context.
+
+
+
+
-
+
- A have been disconnected.
+ Interface for form content decoders.
-
+
- Initializes a new instance of the class.
+
- Reason to disconnection.
+ Stream containing the content
+ Content type (with any additional info like boundry). Content type is always supplied in lower case
+ Stream enconding
+ A http form, or null if content could not be parsed.
+ If contents in the stream is not valid input data.
-
+
- Gets reason to why client disconnected.
+ Checks if the decoder can handle the mime type
+ Content type (with any additional info like boundry). Content type is always supplied in lower case.
+ True if the decoder can parse the specified content type
-
+
+
+ http://www.faqs.org/rfcs/rfc1867.html
+
-
-
- Initializes a new instance of the class.
-
- The request.
-
-
+
- Gets received request.
+ multipart/form-data
-
+
- Returns item either from a form or a query string (checks them in that order)
+ form-data
-
- Representation of a non-initialized HttpParam
-
-
- Initialises the class to hold a value either from a post request or a querystring request
-
-
+
- The add method is not availible for HttpParam
- since HttpParam checks both Request.Form and Request.QueryString
+
- name identifying the value
- value to add
-
+ Stream containing the content
+ Content type (with any additional info like boundry). Content type is always supplied in lower case
+ Stream enconding
+ A http form, or null if content could not be parsed.
+ If contents in the stream is not valid input data.
+ If any parameter is null
-
+
- Checks whether the form or querystring has the specified value
+ Checks if the decoder can handle the mime type
- Name, case sensitive
- true if found; otherwise false.
+ Content type (with any additional info like boundry). Content type is always supplied in lower case.
+ True if the decoder can parse the specified content type
-
+
- Returns an enumerator that iterates through the collection.
+ Can handle application/x-www-form-urlencoded
-
-
- A that can be used to iterate through the collection.
-
- 1
-
+
- Returns an enumerator that iterates through a collection.
-
+ Stream containing the content
+ Content type (with any additional info like boundry). Content type is always supplied in lower case
+ Stream encoding
- An object that can be used to iterate through the collection.
+ A HTTP form, or null if content could not be parsed.
- 2
-
-
-
- Fetch an item from the form or querystring (in that order).
-
-
- Item if found; otherwise HttpInputItem.EmptyLanguageNode
-
-
-
- Container class for posted files
-
-
-
-
- Creates a container for a posted file
-
- The identifier of the post field
- The file path
- The content type of the file
- The name of the file uploaded
- If any parameter is null or empty
-
-
-
- Creates a container for a posted file
-
- If any parameter is null or empty
-
-
- Destructor disposing the file
-
-
-
- Deletes the temporary file
-
- True if manual dispose
-
-
-
- Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
-
-
-
-
- The name/id of the file
-
-
-
-
- The full file path
-
-
-
-
- The name of the uploaded file
-
+ If contents in the stream is not valid input data.
-
+
- The type of file
+ Checks if the decoder can handle the mime type
+ Content type (with any additional info like boundry). Content type is always supplied in lower case.
+ True if the decoder can parse the specified content type
@@ -898,28 +792,6 @@
The original xml document is stored in form["__xml__"].Value.
-
-
- Interface for form content decoders.
-
-
-
-
-
-
- Stream containing the content
- Content type (with any additional info like boundry). Content type is always supplied in lower case
- Stream enconding
- A http form, or null if content could not be parsed.
- If contents in the stream is not valid input data.
-
-
-
- Checks if the decoder can handle the mime type
-
- Content type (with any additional info like boundry). Content type is always supplied in lower case.
- True if the decoder can parse the specified content type
-
@@ -946,9 +818,442 @@
Content type (with any additional info like boundry). Content type is always supplied in lower case.
True if the decoder can parse the specified content type
-
+
- The object form class takes an object and creates form items for it.
+ Helpers making it easier to work with forms.
+
+
+
+
+
+ Used to let the website use different JavaScript libraries.
+ Default is
+
+
+
+
+ Create a <form> tag.
+
+ name of form
+ action to invoke on submit
+ form should be posted as Ajax
+ HTML code
+
+
+ // without options
+ WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
+
+ // with options
+ WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
+
+
+ HTML attributes or JavaScript options.
+ Method will ALWAYS be POST.
+ options must consist of name, value, name, value
+
+
+
+ Creates a select list with the values in a collection.
+
+ Name of the SELECT-tag
+ collection used to generate options.
+ delegate used to return id and title from objects.
+ value that should be marked as selected.
+ First row should contain an empty value.
+ string containing a SELECT-tag.
+
+
+
+
+ Creates a select list with the values in a collection.
+
+ Name of the SELECT-tag
+ Id of the SELECT-tag
+ collection used to generate options.
+ delegate used to return id and title from objects.
+ value that should be marked as selected.
+ First row should contain an empty value.
+ string containing a SELECT-tag.
+
+
+
+ // Class that is going to be used in a SELECT-tag.
+ public class User
+ {
+ private readonly string _realName;
+ private readonly int _id;
+ public User(int id, string realName)
+ {
+ _id = id;
+ _realName = realName;
+ }
+ public string RealName
+ {
+ get { return _realName; }
+ }
+
+ public int Id
+ {
+ get { return _id; }
+ }
+ }
+
+ // Using an inline delegate to generate the select list
+ public void UserInlineDelegate()
+ {
+ List<User> items = new List<User>();
+ items.Add(new User(1, "adam"));
+ items.Add(new User(2, "bertial"));
+ items.Add(new User(3, "david"));
+ string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
+ {
+ User user = (User)o;
+ id = user.Id;
+ value = user.RealName;
+ }, 2, true);
+ }
+
+ // Using an method as delegate to generate the select list.
+ public void UseExternalDelegate()
+ {
+ List<User> items = new List<User>();
+ items.Add(new User(1, "adam"));
+ items.Add(new User(2, "bertial"));
+ items.Add(new User(3, "david"));
+ string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
+ }
+
+ // delegate returning id and title
+ public static void UserOptions(object o, out object id, out object title)
+ {
+ User user = (User)o;
+ id = user.Id;
+ value = user.RealName;
+ }
+
+
+ name, id, collection or getIdTitle is null.
+
+
+
+ Creates a select list with the values in a collection.
+
+ Name of the SELECT-tag
+ Id of the SELECT-tag
+ collection used to generate options.
+ delegate used to return id and title from objects.
+ value that should be marked as selected.
+ First row should contain an empty value.
+ name, value collection of extra HTML attributes.
+ string containing a SELECT-tag.
+
+ name, id, collection or getIdTitle is null.
+ Invalid HTML attribute list.
+
+
+
+ Generate a list of HTML options
+
+ collection used to generate options.
+ delegate used to return id and title from objects.
+ value that should be marked as selected.
+ First row should contain an empty value.
+
+ collection or getIdTitle is null.
+
+
+ sb is null.
+
+
+
+ Creates a check box.
+
+ element name
+ element value
+ determines if the check box is selected or not. This is done differently depending on the
+ type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
+ the box is checked or not.
+ a list with additional attributes (name, value, name, value).
+ a generated radio button
+
+
+
+ Creates a check box.
+
+ element name
+ element id
+ element value
+ determines if the check box is selected or not. This is done differently depending on the
+ type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
+ the box is checked or not.
+ a list with additional attributes (name, value, name, value).
+ a generated radio button
+
+ value in your business object. (check box will be selected if it matches the element value)
+
+
+
+
+ Creates a check box.
+
+ element name
+ element id
+ determines if the check box is selected or not. This is done differently depending on the
+ type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
+ the box is checked or not.
+ a list with additional attributes (name, value, name, value).
+ a generated radio button
+ will set value to "1".
+
+
+
+ Creates a RadioButton.
+
+ element name
+ element value
+ determines if the radio button is selected or not. This is done differently depending on the
+ type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
+ the box is checked or not.
+ a list with additional attributes (name, value, name, value).
+ a generated radio button
+
+
+
+ Creates a RadioButton.
+
+ element name
+ element id
+ element value
+ determines if the radio button is selected or not. This is done differently depending on the
+ type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
+ the box is checked or not.
+ a list with additional attributes (name, value, name, value).
+ a generated radio button
+
+
+
+ form close tag
+
+
+
+
+
+ Delegate used by to populate select options.
+
+ current object (for instance a User).
+ Text that should be displayed in the value part of a <optiongt;-tag.
+ Text shown in the select list.
+
+ // Class that is going to be used in a SELECT-tag.
+ public class User
+ {
+ private readonly string _realName;
+ private readonly int _id;
+ public User(int id, string realName)
+ {
+ _id = id;
+ _realName = realName;
+ }
+ public string RealName
+ {
+ get { return _realName; }
+ }
+
+ public int Id
+ {
+ get { return _id; }
+ }
+ }
+
+ // Using an inline delegate to generate the select list
+ public void UserInlineDelegate()
+ {
+ List<User> items = new List<User>();
+ items.Add(new User(1, "adam"));
+ items.Add(new User(2, "bertial"));
+ items.Add(new User(3, "david"));
+ string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
+ {
+ User user = (User)o;
+ id = user.Id;
+ value = user.RealName;
+ }, 2, true);
+ }
+
+ // Using an method as delegate to generate the select list.
+ public void UseExternalDelegate()
+ {
+ List<User> items = new List<User>();
+ items.Add(new User(1, "adam"));
+ items.Add(new User(2, "bertial"));
+ items.Add(new User(3, "david"));
+ string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
+ }
+
+ // delegate returning id and title
+ public static void UserOptions(object o, out object id, out object title)
+ {
+ User user = (User)o;
+ id = user.Id;
+ value = user.RealName;
+ } ///
+
+
+
+ PrototypeJS implementation of the javascript functions.
+
+
+
+
+ Requests a url through ajax
+
+ url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.
+ optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.
+ a link tag
+ onclick attribute is used by this method.
+
+
+ // plain text
+ JSHelper.AjaxRequest("'/user/show/1'");
+
+ // ajax request using this.href
+ string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
+
+
+
+
+
+ Determins if a list of strings contains a specific value
+
+ options to check in
+ value to find
+ true if value was found
+ case insensitive
+
+
+
+ Ajax requests that updates an element with
+ the fetched content
+
+ URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.
+ element to update
+ options in format "key, value, key, value". All keys should end with colon.
+ A link tag.
+
+
+ JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
+
+
+
+
+
+ A link that pop ups a Dialog (overlay div)
+
+ URL to contents of dialog
+ link title
+ name, value, name, value
+
+ A "a"-tag that popups a dialog when clicked
+
+ Requires Control.Modal found here: http://livepipe.net/projects/control_modal/
+ And the following JavaScript (load it in application.js):
+
+ Event.observe(window, 'load',
+ function() {
+ document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
+ }
+ );
+
+
+
+ WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
+
+
+
+
+ create a modal dialog (usually using DIVs)
+
+ url to fetch
+ dialog title
+ javascript/html attributes. javascript options ends with colon ':'.
+
+
+
+
+ Close a javascript dialog window/div.
+
+ javascript for closing a dialog.
+
+
+
+
+ javascript action that should be added to the "onsubmit" event in the form tag.
+
+ remember to encapsulate strings in ''
+
+ All javascript option names should end with colon.
+
+
+ JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
+
+
+
+
+
+ Will contain helper functions for javascript.
+
+
+
+
+ Requests a url through ajax
+
+ url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.
+ optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.
+ a link tag
+ onclick attribute is used by this method.
+
+
+ // plain text
+ JSHelper.AjaxRequest("'/user/show/1'");
+
+ // ajax request using this.href
+ string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
+
+
+
+
+
+ Ajax requests that updates an element with
+ the fetched content
+
+ url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.
+ element to update
+ options in format "key, value, key, value". All keys should end with colon.
+ A link tag.
+
+
+ JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
+
+
+
+
+
+ Opens contents in a dialog window.
+
+ url to contents of dialog
+ link title
+ name, value, name, value, all parameter names should end with colon.
+
+
+
+ Close a javascript dialog window/div.
+
+ javascript for closing a dialog.
+
+
+
+
+ The object form class takes an object and creates form items for it.
@@ -1063,2718 +1368,2467 @@
html
-
+
-
+ Container to bind resource names to assemblies
-
- http://www.faqs.org/rfcs/rfc1867.html
-
-
+
- multipart/form-data
+ Instantiates an instance of
+ The dot seperated uri the resource maps to
+ The full resource name
+ The assembly the resource exists in
-
+
- form-data
+ Retrieves the assembly the resource resides in
-
+
-
+ Retrieves the full name/path of the assembly
- Stream containing the content
- Content type (with any additional info like boundry). Content type is always supplied in lower case
- Stream enconding
- A http form, or null if content could not be parsed.
- If contents in the stream is not valid input data.
- If any parameter is null
-
+
- Checks if the decoder can handle the mime type
+ Retrieves the extension of the resource
- Content type (with any additional info like boundry). Content type is always supplied in lower case.
- True if the decoder can parse the specified content type
-
-
- The request could not be understood by the server due to malformed syntax.
- The client SHOULD NOT repeat the request without modifications.
-
- Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
-
+
+ Returns the Uri without extension
-
-
- Create a new bad request exception.
-
- reason to why the request was bad.
+
+ Retrieves the full path name to the resource file
-
+
- Create a new bad request exception.
+ Retrieves a stream to the resource
- reason to why the request was bad.
- inner exception
+ Null if the resource couldn't be located somehow
-
-
- Cookies that should be set.
-
+
+ Class to handle loading of resource files
-
+
- Adds a cookie in the collection.
+ Initializes a new instance of the class.
- cookie to add
- cookie is null
-
+
- Copy a request cookie
+ Initializes a new instance of the class.
-
- When the cookie should expire
+ logger.
-
+
- Gets a collection enumerator on the cookie list.
+ Loads resources from a namespace in the given assembly to an URI
- collection enumerator
+ The URI to map the resources to
+ The assembly in which the resources reside
+ The namespace from which to load the resources
+
+
+ resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
+
+ Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
+
+ The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded
+ If a resource has already been mapped to an uri
-
+
- Remove all cookies
+ Retrieves a stream for the specified resource path if loaded otherwise null
+ Path to the resource to retrieve a stream for
+ A stream or null if the resource couldn't be found
-
+
- Returns an enumerator that iterates through the collection.
+ Fetch all files from the resource that matches the specified arguments.
-
+ The path to the resource to extract
- A that can be used to iterate through the collection.
+ a list of files if found; or an empty array if no files are found.
- 1
-
-
-
- Gets the count of cookies in the collection.
-
-
-
-
- Gets the cookie of a given identifier (null if not existing).
-
-
-
-
- cookie being sent back to the browser.
-
-
-
-
-
- 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.
-
-
-
-
- Cookie value. Set to null to remove cookie.
-
-
-
-
- Constructor.
-
- cookie identifier
- cookie content
- cookie expiration date. Use DateTime.MinValue 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 DateTime.MinValue will delete the cookie when the session is closed.
- Path to where the cookie is valid
- Domain that the cookie is valid for.
+ Search path must end with an asterisk for finding arbitrary files
-
+
- Create a new cookie
+ Fetch all files from the resource that matches the specified arguments.
- Name and value will be used
- when the cookie expires.
+ Where the file should reside.
+ Files to check
+
+ a list of files if found; or an empty array if no files are found.
+
-
+
- Gets the cookie HTML representation.
+ Returns whether or not the loader has an instance of the file requested
- cookie string
+ The name of the template/file
+ True if the loader can provide the file
-
+
- When the cookie expires.
- DateTime.MinValue means that the cookie expires when the session do so.
+ Webhelper provides helpers for common tasks in HTML.
-
+
- Cookie is only valid under this path.
+ Used to let the website use different javascript libraries.
+ Default is
-
+
- Inversion of control interface.
+ Creates a link that invokes through ajax.
+ url to fetch
+ link title
+
+ optional options in format "key, value, key, value".
+ Javascript options starts with ':'.
+
+ a link tag
+
+ WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');");
+
-
+
- Add a component instance
+ Builds a link that updates an element with the fetched ajax content.
- Interface type
- Instance to add
+ Url to fetch content from
+ link title
+ html element to update with the results of the ajax request.
+ optional options in format "key, value, key, value"
+ A link tag.
-
+
- Get a component.
+ A link that pop ups a Dialog (overlay div)
- Interface type
- Component if registered, otherwise null.
-
- Component will get created if needed.
-
+ url to contents of dialog
+ link title
+ name/value of html attributes.
+ A "a"-tag that popups a dialog when clicked
+
+ WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
+
-
+
- Checks if the specified component interface have been added.
+ Create/Open a dialog box using ajax
-
- true if found; otherwise false.
+
+
+
+
-
+
- Add a component.
+ Close a javascript dialog window/div.
- Type being requested.
- Type being created.
+ javascript for closing a dialog.
+
-
+
- Contains a listener that doesn't do anything with the connections.
+ Create a <form> tag.
+ name of form
+ action to invoke on submit
+ form should be posted as ajax
+ html code
+
+ WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
+
-
+
- Listen for regular HTTP connections
+ Create a link tag.
- IP Address to accept connections on
- TCP Port to listen on, default HTTP port is 80.
- Factory used to create es.
- address is null.
- Port must be a positive number.
+ url to go to
+ link title (text that is displayed)
+ html attributes, name, value, name, value
+ html code
+
+ WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');");
+
-
+
- Initializes a new instance of the class.
+ Build a link
- IP Address to accept connections on
- TCP Port to listen on, default HTTPS port is 443
- Factory used to create es.
- Certificate to use
+ url to go to.
+ title of link (displayed text)
+ extra html attributes.
+ a complete link
-
+
- Initializes a new instance of the class.
+ Build a link
- IP Address to accept connections on
- TCP Port to listen on, default HTTPS port is 443
- Factory used to create es.
- Certificate to use
- which HTTPS protocol to use, default is TLS.
-
-
- Exception.
+ url to go to.
+ title of link (displayed text)
+ extra html attributes.
+ a complete link
+ more options
-
+
- Will try to accept connections one more time.
+ Obsolete
- If any exceptions is thrown.
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
-
+
- Can be used to create filtering of new connections.
+ Obsolete
- Accepted socket
- true if connection can be accepted; otherwise false.
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
+ Obsolete
-
+
- Start listen for new connections
+ Render errors into a UL with class "errors"
- Number of connections that can stand in a queue to be accepted.
- Listener have already been started.
+ class used by UL-tag.
+ items to list
+ an unordered html list.
-
+
- Stop the listener
+ Render errors into a UL with class "errors"
-
+ class used by UL-tag.
+ items to list
+ an unordered html list.
-
+
- Gives you a change to receive log entries for all internals of the HTTP library.
+ Render errors into a UL with class "errors"
-
- You may not switch log writer after starting the listener.
-
+
+
-
+
- True if we should turn on trace logs.
+ Generates a list with html attributes.
+ StringBuilder that the options should be added to.
+ attributes set by user.
+ attributes set by any of the helper classes.
-
+
- Catch exceptions not handled by the listener.
+ Generates a list with html attributes.
-
- Exceptions will be thrown during debug mode if this event is not used,
- exceptions will be printed to console and suppressed during release mode.
-
+ StringBuilder that the options should be added to.
+
-
+
- A request have been received from a .
+ Purpose of this class is to create a javascript toolkit independent javascript helper.
-
+
- New implementation of the HTTP listener.
+ Generates a list with JS options.
-
- Use the Create methods to create a default listener.
-
+ StringBuilder that the options should be added to.
+ the javascript options. name, value pairs. each string value should be escaped by YOU!
+ true if we should start with a comma.
-
+
- Initializes a new instance of the class.
+ Removes any javascript parameters from an array of parameters
- IP Address to accept connections on
- TCP Port to listen on, default HTTP port is 80.
- Factory used to create es.
- address is null.
- Port must be a positive number.
+ The array of parameters to remove javascript params from
+ An array of html parameters
-
+
- Initializes a new instance of the class.
+ javascript action that should be added to the "onsubmit" event in the form tag.
- The address.
- The port.
- The factory.
- The certificate.
+
+ All javascript option names should end with colon.
+
+
+ JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
+
+
-
+
- Initializes a new instance of the class.
+ Requests a url through ajax
- The address.
- The port.
- The factory.
- The certificate.
- The protocol.
+ url to fetch
+ optional options in format "key, value, key, value", used in JS request object.
+ a link tag
+ All javascript option names should end with colon.
+
+
+ JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
+
+
-
+
- Creates a new instance with default factories.
+ Ajax requests that updates an element with
+ the fetched content
- Address that the listener should accept connections on.
- Port that listener should accept connections on.
- Created HTTP listener.
+ Url to fetch content from
+ element to update
+ optional options in format "key, value, key, value", used in JS updater object.
+ A link tag.
+ All javascript option names should end with colon.
+
+
+ JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
+
+
-
+
- Creates a new instance with default factories.
+ A link that pop ups a Dialog (overlay div)
- Address that the listener should accept connections on.
- Port that listener should accept connections on.
- Certificate to use
- Created HTTP listener.
+ url to contents of dialog
+ link title
+ A "a"-tag that popups a dialog when clicked
+ name/value of html attributes
+
+ WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
+
-
+
- Creates a new instance with default factories.
+ Close a javascript dialog window/div.
- Address that the listener should accept connections on.
- Port that listener should accept connections on.
- Certificate to use
- which HTTPS protocol to use, default is TLS.
- Created HTTP listener.
+ javascript for closing a dialog.
+
-
+
- Can be used to create filtering of new connections.
+ Creates a new modal dialog window
- Accepted socket
-
- true if connection can be accepted; otherwise false.
-
+ url to open in window.
+ window title (may not be supported by all js implementations)
+
+
-
+
- A client have been accepted, but not handled, by the listener.
+ Helpers to make XML handling easier
-
+
- redirects from one URL to another.
+ Serializes object to XML.
+ object to serialize.
+ XML
+
+ Removes name spaces and adds indentation
+
-
+
- Rules are used to perform operations before a request is being handled.
- Rules can be used to create routing etc.
+ Create an object from a XML string
+ Type of object
+ XML string
+ object
-
+
- Process the incoming request.
+ Contains a connection to a browser/client.
- incoming HTTP request
- outgoing HTTP response
- true if response should be sent to the browser directly (no other rules or modules will be processed).
- returning true means that no modules will get the request. Returning true is typically being done
- for redirects.
+ Remember to after you have hooked the event.
- If request or response is null.
+ TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext?
-
+
- Initializes a new instance of the class.
+ This context have been cleaned, which means that it can be reused.
- Absolute path (no server name)
- Absolute path (no server name)
-
- server.Add(new RedirectRule("/", "/user/index"));
-
-
+
- Initializes a new instance of the class.
+ Context have been started (a new client have connected)
- 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.
+ Initializes a new instance of the class.
- incoming HTTP request
- outgoing HTTP response
- true if response should be sent to the browser directly (no other rules or modules will be processed).
-
- returning true means that no modules will get the request. Returning true is typically being done
- for redirects.
-
+ true if the connection is secured (SSL/TLS)
+ client that connected.
+ Stream used for communication
+ Used to create a .
+ Size of buffer to use when reading data. Must be at least 4096 bytes.
+ If fails
+ Stream must be writable and readable.
-
+
- Gets string to match request URI with.
+ Process incoming body bytes.
- Is compared to request.Uri.AbsolutePath
+
+ Bytes
-
+
- Gets where to redirect.
+
+
+
-
+
- Gets whether server should redirect client.
+ Overload to specify own type.
- 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.
+ Must be specified before the context is being used.
-
-
- Parses a HTTP request directly from a stream
-
-
-
+
- Event driven parser used to parse incoming HTTP requests.
+ Start reading content.
- The parser supports partial messages and keeps the states between
- each parsed buffer. It's therefore important that the parser gets
- ed if a client disconnects.
+ Make sure to call base.Start() if you override this method.
-
+
- Parse partial or complete message.
+ Clean up context.
- buffer containing incoming bytes
- where in buffer that parsing should start
- number of bytes to parse
- Unparsed bytes left in buffer.
- BadRequestException.
+
+ Make sure to call base.Cleanup() if you override the method.
+
-
+
- Clear parser state.
+ Using SSL or other encryption method.
-
+
- Current state in parser.
+ Using SSL or other encryption method.
-
+
- A request have been successfully parsed.
+ Specify which logger to use.
-
+
- More body bytes have been received.
+ Gets or sets the network stream.
-
+
- Request line have been received.
+ Gets or sets IP address that the client connected from.
-
+
- A header have been received.
+ Gets or sets port that the client connected from.
-
+
- Gets or sets the log writer.
+ Disconnect from client
+ error to report in the event.
-
+
- Create a new request parser
+ Send a response.
- delegate receiving log entries.
+ Either or
+ HTTP status code
+ reason for the status code.
+ HTML body contents, can be null or empty.
+ A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty
+ If is invalid.
-
+
- Add a number of bytes to the body
+ Send a response.
- buffer containing more body bytes.
- starting offset in buffer
- number of bytes, from offset, to read.
- offset to continue from.
+ Either or
+ HTTP status code
+ reason for the status code.
-
+
- Remove all state information for the request.
+ Send a response.
+
-
+
- Parse request line
+ send a whole buffer
-
- If line is incorrect
- Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"
+ buffer to send
+
-
+
- We've parsed a new header.
+ Send data using the stream
- Name in lower case
- Value, unmodified.
- If content length cannot be parsed.
+ Contains data to send
+ Start position in buffer
+ number of bytes to send
+
+
-
+
- Parse a message
+ The context have been disconnected.
- bytes to parse.
- where in buffer that parsing should start
- number of bytes to parse, starting on .
- offset (where to start parsing next).
- BadRequestException.
+
+ Event can be used to clean up a context, or to reuse it.
+
-
+
- Gets or sets the log writer.
+ A request have been received in the context.
-
+
- Current state in parser.
+ Used to create and reuse contexts.
-
+
- A request have been successfully parsed.
+ Initializes a new instance of the class.
+ The writer.
+ Amount of bytes to read from the incoming socket stream.
+ Used to create a request parser.
-
+
- More body bytes have been received.
+ True if detailed trace logs should be written.
-
+
- Request line have been received.
+ Create a new context.
+ true if socket is running HTTPS.
+ Client that connected
+ Network/SSL stream.
+ A context.
-
+
- A header have been received.
+ Create a new context.
+ true if HTTPS is used.
+ Remote client
+ Network stream, uses .
+ A new context (always).
-
+
- A thread-safe lockless queue that supports multiple readers and
- multiple writers
+ Create a secure .
+ Client socket (accepted by the ).
+ HTTPS certificate to use.
+ Kind of HTTPS protocol. Usually TLS or SSL.
+
+ A created .
+
-
- Queue head
-
-
- Queue tail
-
-
- Queue item count
-
-
+
- Constructor
+ A request have been received from one of the contexts.
-
+
- Enqueue an item
+ Creates a that handles a connected client.
- Item to enqeue
+ Client socket (accepted by the ).
+
+ A creates .
+
-
+
- Try to dequeue an item
+ Server is shutting down so shut down the factory
- Dequeued item if the dequeue was successful
- True if an item was successfully deqeued, otherwise false
-
-
- Gets the current number of items in the queue. Since this
- is a lockless collection this value should be treated as a close
- estimate
-
+
- Provides a node container for data in a singly linked list
+ Custom network stream to mark sockets as reusable when disposing the stream.
-
- Pointer to the next node in list
-
-
- The data contained by the node
-
-
+
- Constructor
+ 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.
+
-
+
- Constructor
+ 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.
+
-
+
- Contains server side HTTP request information.
+ 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.
+
-
+
- Called during parsing of a .
+ Creates a new instance of the class for the specified with the specified access rights and the specified ownership.
- Name of the header, should not be URL encoded
- Value of the header, should not be URL encoded
- If a header is incorrect.
+
+ 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.
+
-
+
- Add bytes to the body
+ Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.
- buffer to read bytes from
- where to start read
- number of bytes to read
- Number of bytes actually read (same as length unless we got all body bytes).
- If body is not writable
- bytes is null.
- offset is out of range.
-
+
- Clear everything in the request
+ 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.
-
+
- Decode body into a form.
+ Used to create es.
- A list with form decoders.
- If body contents is not valid for the chosen decoder.
- If body is still being transferred.
-
+
- Sets the cookies.
+ Creates a that handles a connected client.
- The cookies.
+ Client socket (accepted by the ).
+ A creates .
-
+
- Create a response object.
+ Create a secure .
- Context for the connected client.
- A new .
+ Client socket (accepted by the ).
+ HTTPS certificate to use.
+ Kind of HTTPS protocol. Usually TLS or SSL.
+ A created .
-
+
- Gets kind of types accepted by the client.
+ A request have been received from one of the contexts.
-
+
- Gets or sets body stream.
+ Server is shutting down so shut down the factory
-
+
- Gets whether the body is complete.
+ Container class for posted files
-
+
- Gets or sets kind of connection used for the session.
+ Creates a container for a posted file
+ The identifier of the post field
+ The file path
+ The content type of the file
+ The name of the file uploaded
+ If any parameter is null or empty
-
+
- Gets or sets number of bytes in the body.
+ Creates a container for a posted file
+ If any parameter is null or empty
-
+
+ Destructor disposing the file
+
+
- Gets cookies that was sent with the request.
+ The name/id of the file
-
+
- Gets form parameters.
+ The full file path
-
+
- Gets headers sent by the client.
+ The name of the uploaded file
-
+
- Gets or sets version of HTTP protocol that's used.
+ The type of file
-
- Probably or .
-
-
-
+
- Gets whether the request was made by Ajax (Asynchronous JavaScript)
+ Deletes the temporary file
+ True if manual dispose
-
+
- Gets or sets requested method.
+ Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
-
- Will always be in upper case.
-
-
-
-
- Gets parameter from or .
-
+
+ Container for posted form data
+
+
+ Instance to help mark a non-initialized form
+
+
+ Initializes a form container with the specified name
-
+
- Gets variables sent in the query string
+ Makes a deep copy of the input
+ The input to copy
-
+
- Gets or sets requested URI.
+ Adds a file to the collection of posted files
+ The file to add
+ If the file is already added
+ If file is null
+ If the instance is HttpForm.EmptyForm which cannot be modified
-
+
- Gets URI absolute path divided into parts.
+ Checks if the form contains a specified file
-
- // URI is: http://gauffin.com/code/tiny/
- Console.WriteLine(request.UriParts[0]); // result: code
- Console.WriteLine(request.UriParts[1]); // result: tiny
-
-
- If you're using controllers than the first part is controller name,
- the second part is method name and the third part is Id property.
-
-
+ Field name of the file parameter
+ True if the file exists
+ If the instance is HttpForm.EmptyForm which cannot be modified
-
+
- Gets or sets path and query.
+ Retrieves a file held by by the form
-
-
- Are only used during request parsing. Cannot be set after "Host" header have been
- added.
-
+ The identifier of the file
+ The requested file or null if the file was not found
+ If name is null or empty
+ If the instance is HttpForm.EmptyForm which cannot be modified
-
+
- PrototypeJS implementation of the javascript functions.
+ Retrieves the number of files added to the
+ 0 if no files are added
-
+
+ Disposes all held HttpFile's and resets values
+
+
- Purpose of this class is to create a javascript toolkit independent javascript helper.
+ Generic helper functions for HTTP
-
+
- Generates a list with JS options.
+ Version string for HTTP v1.0
- StringBuilder that the options should be added to.
- the javascript options. name, value pairs. each string value should be escaped by YOU!
- true if we should start with a comma.
-
+
- Removes any javascript parameters from an array of parameters
+ Version string for HTTP v1.1
- The array of parameters to remove javascript params from
- An array of html parameters
-
+
- javascript action that should be added to the "onsubmit" event in the form tag.
+ An empty URI
-
- All javascript option names should end with colon.
-
-
- JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
-
-
-
+
- Requests a url through ajax
+ Parses a query string.
- url to fetch
- optional options in format "key, value, key, value", used in JS request object.
- a link tag
- All javascript option names should end with colon.
-
-
- JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
-
-
+ Query string (URI encoded)
+ A object if successful; otherwise
+ queryString is null.
+ If string cannot be parsed.
-
+
- Ajax requests that updates an element with
- the fetched content
+ Contains some kind of input from the browser/client.
+ can be QueryString, form data or any other request body content.
- Url to fetch content from
- element to update
- optional options in format "key, value, key, value", used in JS updater object.
- A link tag.
- All javascript option names should end with colon.
-
-
- JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
-
-
-
+
+ Representation of a non-initialized class instance
+
+
+ Variable telling the class that it is non-initialized
+
+
- A link that pop ups a Dialog (overlay div)
+ Initializes a new instance of the class.
- url to contents of dialog
- link title
- A "a"-tag that popups a dialog when clicked
- name/value of html attributes
-
- WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
-
+ form name.
-
+
- Close a javascript dialog window/div.
+ Initializes a new instance of the class.
- javascript for closing a dialog.
-
+ form name.
+ if set to true all changes will be ignored.
+ this constructor should only be used by Empty
-
+
+ Creates a deep copy of the HttpInput class
+ The object to copy
+ The function makes a deep copy of quite a lot which can be slow
+
+
- Creates a new modal dialog window
+ Form name as lower case
- url to open in window.
- window title (may not be supported by all js implementations)
-
-
-
+
- Requests a url through ajax
+ Add a new element. Form array elements are parsed
+ and added in a correct hierarchy.
- url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.
- optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.
- a link tag
- onclick attribute is used by this method.
-
-
- // plain text
- JSHelper.AjaxRequest("'/user/show/1'");
-
- // ajax request using this.href
- string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
-
-
+ Name is converted to lower case.
+
+ name is null.
+ Cannot add stuff to .
-
+
- Determins if a list of strings contains a specific value
+ Get a form item.
- options to check in
- value to find
- true if value was found
- case insensitive
+
+ Returns if item was not found.
-
+
- Ajax requests that updates an element with
- the fetched content
+ Returns true if the class contains a with the corresponding name.
- URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.
- element to update
- options in format "key, value, key, value". All keys should end with colon.
- A link tag.
-
-
- JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
-
-
+ The field/query string name
+ True if the value exists
-
+
- A link that pop ups a Dialog (overlay div)
+ Parses an item and returns it.
+ This function is primarily used to parse array items as in user[name].
- URL to contents of dialog
- link title
- name, value, name, value
-
- A "a"-tag that popups a dialog when clicked
-
- Requires Control.Modal found here: http://livepipe.net/projects/control_modal/
- And the following JavaScript (load it in application.js):
-
- Event.observe(window, 'load',
- function() {
- document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
- }
- );
-
-
-
- WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
-
+
+
+
-
+
+ Outputs the instance representing all its values joined together
+
+
+
+ Returns all items as an unescaped query string.
+
+
+
- create a modal dialog (usually using DIVs)
+ Extracts one parameter from an array
- url to fetch
- dialog title
- javascript/html attributes. javascript options ends with colon ':'.
-
+ Containing the string array
+ All but the first value
+
+ string test1 = ExtractOne("system[user][extension][id]");
+ string test2 = ExtractOne(test1);
+ string test3 = ExtractOne(test2);
+ // test1 = user[extension][id]
+ // test2 = extension[id]
+ // test3 = id
+
-
+
+ Resets all data contained by class
+
+
- Close a javascript dialog window/div.
+ Returns an enumerator that iterates through the collection.
- javascript for closing a dialog.
-
+
+
+ A that can be used to iterate through the collection.
+
+ 1
-
+
- javascript action that should be added to the "onsubmit" event in the form tag.
+ Returns an enumerator that iterates through a collection.
- remember to encapsulate strings in ''
-
- All javascript option names should end with colon.
-
-
- JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
-
-
+
+
+ An object that can be used to iterate through the collection.
+
+ 2
-
+
- Helpers making it easier to work with forms.
+ Base class for request data containers
-
-
+
- Used to let the website use different JavaScript libraries.
- Default is
+ Adds a parameter mapped to the presented name
+ The name to map the parameter to
+ The parameter value
-
+
- Create a <form> tag.
+ Returns a request parameter
- name of form
- action to invoke on submit
- form should be posted as Ajax
- HTML code
-
-
- // without options
- WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
-
- // with options
- WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
-
-
- HTML attributes or JavaScript options.
- Method will ALWAYS be POST.
- options must consist of name, value, name, value
+ The name associated with the parameter
+
-
+
- Creates a select list with the values in a collection.
+ Returns true if the container contains the requested parameter
- Name of the SELECT-tag
- collection used to generate options.
- delegate used to return id and title from objects.
- value that should be marked as selected.
- First row should contain an empty value.
- string containing a SELECT-tag.
-
+ Parameter id
+ True if parameter exists
-
+
- Creates a select list with the values in a collection.
+ represents a HTTP input item. Each item can have multiple sub items, a sub item
+ is made in a HTML form by using square brackets
- Name of the SELECT-tag
- Id of the SELECT-tag
- collection used to generate options.
- delegate used to return id and title from objects.
- value that should be marked as selected.
- First row should contain an empty value.
- string containing a SELECT-tag.
-
-
- // Class that is going to be used in a SELECT-tag.
- public class User
- {
- private readonly string _realName;
- private readonly int _id;
- public User(int id, string realName)
- {
- _id = id;
- _realName = realName;
- }
- public string RealName
- {
- get { return _realName; }
- }
-
- public int Id
- {
- get { return _id; }
- }
- }
-
- // Using an inline delegate to generate the select list
- public void UserInlineDelegate()
- {
- List<User> items = new List<User>();
- items.Add(new User(1, "adam"));
- items.Add(new User(2, "bertial"));
- items.Add(new User(3, "david"));
- string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
- {
- User user = (User)o;
- id = user.Id;
- value = user.RealName;
- }, 2, true);
- }
-
- // Using an method as delegate to generate the select list.
- public void UseExternalDelegate()
- {
- List<User> items = new List<User>();
- items.Add(new User(1, "adam"));
- items.Add(new User(2, "bertial"));
- items.Add(new User(3, "david"));
- string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
- }
-
- // delegate returning id and title
- public static void UserOptions(object o, out object id, out object title)
- {
- User user = (User)o;
- id = user.Id;
- value = user.RealName;
- }
-
+ // becomes:
+ Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value);
- name, id, collection or getIdTitle is null.
+
+ All names in a form SHOULD be in lowercase.
+
-
-
- Creates a select list with the values in a collection.
-
- Name of the SELECT-tag
- Id of the SELECT-tag
- collection used to generate options.
- delegate used to return id and title from objects.
- value that should be marked as selected.
- First row should contain an empty value.
- name, value collection of extra HTML attributes.
- string containing a SELECT-tag.
-
- name, id, collection or getIdTitle is null.
- Invalid HTML attribute list.
+
+ Representation of a non-initialized .
-
+
- Generate a list of HTML options
+ Initializes an input item setting its name/identifier and value
- collection used to generate options.
- delegate used to return id and title from objects.
- value that should be marked as selected.
- First row should contain an empty value.
-
- collection or getIdTitle is null.
+ Parameter name/id
+ Parameter value
-
- sb is null.
+
+ Creates a deep copy of the item specified
+ The item to copy
+ The function makes a deep copy of quite a lot which can be slow
-
+
- Creates a check box.
+ Number of values
- element name
- element value
- determines if the check box is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not.
- a list with additional attributes (name, value, name, value).
- a generated radio button
-
+
- Creates a check box.
+ Get a sub item
- element name
- element id
- element value
- determines if the check box is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not.
- a list with additional attributes (name, value, name, value).
- a generated radio button
-
- value in your business object. (check box will be selected if it matches the element value)
-
+ name in lower case.
+ if no item was found.
-
+
- Creates a check box.
+ Name of item (in lower case).
- element name
- element id
- determines if the check box is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not.
- a list with additional attributes (name, value, name, value).
- a generated radio button
- will set value to "1".
-
+
- Creates a RadioButton.
+ Returns the first value, or null if no value exist.
- element name
- element value
- determines if the radio button is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not.
- a list with additional attributes (name, value, name, value).
- a generated radio button
-
+
- Creates a RadioButton.
+ Returns the last value, or null if no value exist.
+
+
+
+
+ Returns the list with values.
- element name
- element id
- element value
- determines if the radio button is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not.
- a list with additional attributes (name, value, name, value).
- a generated radio button
-
+
- form close tag
+ Add another value to this item
-
+ Value to add.
+ Cannot add stuff to .
-
+
- We dont want to let the server to die due to exceptions thrown in worker threads.
- therefore we use this delegate to give you a change to handle uncaught exceptions.
+ checks if a sub-item exists (and has a value).
- Class that the exception was thrown in.
- Exception
-
- Server will throw a InternalServerException in release version if you dont
- handle this delegate.
-
+ name in lower case
+ true if the sub-item exists and has a value; otherwise false.
-
+
+ Returns a formatted representation of the instance with the values of all contained parameters
+
+
- Implements HTTP Digest authentication. It's more secure than Basic auth since password is
- encrypted with a "key" from the server.
+ Outputs the string in a formatted manner
-
- Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
-
+ A prefix to append, used internally
+ produce a query string
-
+
- Authentication modules are used to implement different
- kind of HTTP authentication.
+
+ name in lower case
+
-
+
- Tag used for authentication.
+ Add a sub item.
+ Can contain array formatting, the item is then parsed and added in multiple levels
+ Value to add.
+ Argument is null.
+ Cannot add stuff to .
-
+
- Initializes a new instance of the class.
+ Returns an enumerator that iterates through the collection.
- Delegate used to provide information used during authentication.
- Delegate used to determine if authentication is required (may be null).
+
+
+ A that can be used to iterate through the collection.
+
+ 1
-
+
- Initializes a new instance of the class.
+ Returns an enumerator that iterates through a collection.
- Delegate used to provide information used during authentication.
+
+
+ An object that can be used to iterate through the collection.
+
+ 2
-
+
- Create a response that can be sent in the WWW-Authenticate header.
+ Outputs the string in a formatted manner
- Realm that the user should authenticate in
- Array with optional options.
- A correct authentication request.
- If realm is empty or null.
+ A prefix to append, used internally
+
-
+
- An authentication response have been received from the web browser.
- Check if it's correct
+ New implementation of the HTTP listener.
- Contents from the Authorization header
- Realm that should be authenticated
- GET/POST/PUT/DELETE etc.
- options to specific implementations
- Authentication object that is stored for the request. A user class or something like that.
- if is invalid
- If any of the parameters is empty or null.
+
+ Use the Create methods to create a default listener.
+
-
+
- Used to invoke the authentication delegate that is used to lookup the user name/realm.
+ A client have been accepted, but not handled, by the listener.
- Realm (domain) that user want to authenticate in
- User name
- Password used for validation. Some implementations got password in clear text, they are then sent to client.
- object that will be stored in the request to help you identify the user if authentication was successful.
- true if authentication was successful
-
+
- Determines if authentication is required.
+ Initializes a new instance of the class.
- HTTP request from browser
- true if user should be authenticated.
- throw from your delegate if no more attempts are allowed.
- If no more attempts are allowed
+ IP Address to accept connections on
+ TCP Port to listen on, default HTTP port is 80.
+ Factory used to create es.
+ address is null.
+ Port must be a positive number.
-
+
- name used in HTTP request.
+ Initializes a new instance of the class.
+ The address.
+ The port.
+ The factory.
+ The certificate.
-
+
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
- Delegate used to provide information used during authentication.
- Delegate used to determine if authentication is required (may be null).
+ The address.
+ The port.
+ The factory.
+ The certificate.
+ The protocol.
-
+
- Initializes a new instance of the class.
+ Creates a new instance with default factories.
- Delegate used to provide information used during authentication.
+ Address that the listener should accept connections on.
+ Port that listener should accept connections on.
+ Created HTTP listener.
-
+
- Used by test classes to be able to use hardcoded values
+ 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.
-
+
- An authentication response have been received from the web browser.
- Check if it's correct
+ Creates a new instance with default factories.
- Contents from the Authorization header
- Realm that should be authenticated
- GET/POST/PUT/DELETE etc.
- First option: true if username/password is correct but not cnonce
-
- 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.
+ Address that the listener should accept connections on.
+ Port that listener should accept connections on.
+ Certificate to use
+ which HTTPS protocol to use, default is TLS.
+ Created HTTP listener.
-
+
- Encrypts parameters into a Digest string
+ Can be used to create filtering of new connections.
- 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
+ Accepted socket
+
+ true if connection can be accepted; otherwise false.
+
-
+
-
+ Contains a listener that doesn't do anything with the connections.
- 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 response that can be sent in the WWW-Authenticate header.
+ Listen for regular HTTP connections
- Realm that the user should authenticate in
- First options specifies if true if username/password is correct but not cnonce.
- A correct auth request.
- If realm is empty or null.
+ IP Address to accept connections on
+ TCP Port to listen on, default HTTP port is 80.
+ Factory used to create es.
+ address is null.
+ Port must be a positive number.
-
+
- Decodes authorization header value
+ Initializes a new instance of the class.
- header value
- Encoding that the buffer is in
- All headers and their values if successful; otherwise null
-
- NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
-
- Can handle lots of whitespaces and new lines without failing.
+ IP Address to accept connections on
+ TCP Port to listen on, default HTTPS port is 443
+ Factory used to create es.
+ Certificate to use
-
+
- Gets the current nonce.
+ Initializes a new instance of the