diff --git a/lib/aspnetwebapi/Microsoft.Web.Infrastructure.dll b/lib/aspnetwebapi/Microsoft.Web.Infrastructure.dll
new file mode 100644
index 000000000..85f1138c5
Binary files /dev/null and b/lib/aspnetwebapi/Microsoft.Web.Infrastructure.dll differ
diff --git a/lib/aspnetwebapi/System.Net.Http.Formatting.dll b/lib/aspnetwebapi/System.Net.Http.Formatting.dll
new file mode 100644
index 000000000..c365d5ae3
Binary files /dev/null and b/lib/aspnetwebapi/System.Net.Http.Formatting.dll differ
diff --git a/lib/aspnetwebapi/System.Net.Http.Formatting.xml b/lib/aspnetwebapi/System.Net.Http.Formatting.xml
new file mode 100644
index 000000000..bf89bdf0e
--- /dev/null
+++ b/lib/aspnetwebapi/System.Net.Http.Formatting.xml
@@ -0,0 +1,1121 @@
+
+
+
+ System.Net.Http.Formatting
+
+
+
+ Extension methods to provide convenience methods for finding items within a <see cref="T:System.Collections.Generic.IEnumerable`1" /> collection.
+
+
+ Returns all instances of in a sequence that has a header field with a property equal to the provided contentType.
+ null if source is empty or if no element matches; otherwise the first in the sequence with a matching media type.
+ The content to evaluate
+ The media type to look for.
+
+
+ Returns all instances of in a sequence that has a header field with a property equal to the provided contentType.
+ null if source is empty or if no element matches; otherwise the first in the sequence with a matching media type.
+ The content to evaluate
+ The media type to look for.
+
+
+ Returns the first in a sequence that has a header field with a property equal to dispositionName.
+ The first in the sequence with a matching disposition name.
+ The contents to evaluate
+ The disposition name to look for.
+
+
+ Returns the first in a sequence that has a header field with a property equal to dispositionName.
+ null if source is empty or if no element matches; otherwise the first in the sequence with a matching disposition name.
+ The contents to evaluate
+ The disposition name to look for.
+
+
+ Returns the first in a sequence that has a header field with a property equal to dispositionType.
+ The first in the sequence with a matching disposition type.
+ The contents to evaluate
+ The disposition type to look for.
+
+
+ Returns the first in a sequence that has a header field with a property equal to dispositionType.
+ null if source is empty or if no element matches; otherwise the first in the sequence with a matching disposition type.
+ The contents to evaluate
+ The disposition type to look for.
+
+
+ Returns the start multipart body part. The start is used to identify the main body in multipart/related content (see RFC 2387).
+ The first in the sequence with a matching value.
+ The contents to evaluate.
+ The start value to look for. A match is found if a has a Content-ID header field with the given value.
+
+
+ Returns the first in a sequence that has a header field parameter equal to start. This parameter is typically used in connection with multipart/related content (see RFC 2387).
+ null if source is empty or if no element matches; otherwise the first in the sequence with a matching value.
+ The contents to evaluate.
+ The start value to look for. A match is found if a has a Content-ID header field with the given value.
+
+
+ Extension methods to allow strongly typed objects to be read from instances.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods to read and entities from instances.
+
+
+ Determines whether the specified content is HTTP request message content.
+ true if the specified content is HTTP message content; otherwise, false.
+ The content.
+
+
+ Determines whether the specified content is HTTP response message content.
+ true if the specified content is HTTP message content; otherwise, false.
+ The content.
+
+
+
+
+
+
+
+ Extension methods to read MIME multipart entities from instances.
+
+
+ Determines whether the specified content is MIME multipart content.
+ true if the specified content is MIME multipart content; otherwise, false.
+ The content.
+
+
+ Determines whether the specified content is MIME multipart content with the specified subtype. For example, the subtype mixed would match content with a content type of multipart/mixed.
+ true if the specified content is MIME multipart content with the specified subtype; otherwise, false.
+ The content.
+ The MIME multipart subtype to match.
+
+
+
+
+
+ Derived class which can encapsulate an or an as an entity with media type "application/http".
+
+
+ Initializes a new instance of the class encapsulating an .
+ The instance to encapsulate.
+
+
+ Initializes a new instance of the class encapsulating an .
+ The instance to encapsulate.
+
+
+ Releases unmanaged and - optionally - managed resources
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Gets the HTTP request message.
+
+
+ Gets the HTTP response message.
+
+
+ Asynchronously serializes the object's content to the given stream.
+ A instance that is asynchronously serializing the object's content.
+ The to which to write.
+ The associated .
+
+
+ Computes the length of the stream if possible.
+ true if the length has been computed; otherwise false.
+ The computed length of the stream.
+
+
+ Derived class that contains a strongly typed object as its content.
+ The type of object it contains as its content.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+ The collection of instances to use for serialization.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+ The media type to use to write the request.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+ The media type to use to write the request.
+ The collection of instances to use for serialization.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+ The media type to use to write the request.
+ The collection of instances to use for serialization.
+ The to use to select the .
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+ The for this request.
+ The to use for this request.
+ The collection of instances to use for serialization.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpRequestMessage`1" /> class.
+ The object to use as the content of this new instance.
+ The media type to use to write the request.
+
+
+ Gets or sets the that manages the object value for this .
+
+
+ Extension methods for .
+
+
+ Creates a new instance associated with the given .
+ The existing
+ The type of the value.
+ The value for the new
+
+
+ Creates a new instance associated with the given .
+ The .
+ The type of the value.
+ The value for the new
+ The collection of instances to use.
+ The to select the
+
+
+ Creates a new instance associated with the given .
+ The .
+ The type of the value.
+ The value for the new
+ The to set as the request media type.
+ The collection of instances to use.
+ The to select the
+
+
+ Creates a new instance associated with the given .
+ The existing
+ The value for the new
+ The type of value for the new .
+
+
+ Creates a new instance associated with the given .
+ The .
+ The value for the new
+ The collection of instances to use.
+ The to select the
+ The type of the value.
+
+
+ Creates a new instance associated with the given .
+ The .
+ The value for the new
+ The to set as the request media type.
+ The collection of instances to use.
+ The to select the
+ The type of the value.
+
+
+ Derived class that contains a strongly typed object as its content.
+ The type of object instances of this class will contain as its content.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The to use for this response.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The collection of instances to use for serialization.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The to use to select the appropriate .
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The to use to serialize the response.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The original .
+ The collection of instances to use for serialization.
+ The to use to select the appropriate .
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The original .
+ The media type to use.
+ The collection of instances to use for serialization.
+ The to use to select the appropriate .
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The to use for this response.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.HttpResponseMessage`1" /> class.
+ The value to use as the content of this new instance.
+ The to use for this response.
+ The collection of instances to use for serialization.
+
+
+ Gets or sets the that manages the value for this instance.
+
+
+
+ Creates a new instance associated with the given .
+ The existing
+ The type of the value.
+ The value for the new
+
+
+ Creates a new instance associated with the given .
+ The .
+ The type of the value.
+ The value for the new
+ The collection of instances to use.
+ The to select the
+
+
+ Creates a new instance associated with the given .
+ The .
+ The type of the value.
+ The value for the new
+ The to set as the response media type.
+ The collection of instances to use.
+ The to select the
+
+
+ Creates a new instance associated with the given .
+ The existing
+ The value for the new
+ The type of value for the new .
+
+
+ Creates a new instance associated with the given .
+ The .
+ The value for the new
+ The collection of instances to use.
+ The to select the
+ The type of the value.
+
+
+ Creates a new instance associated with the given .
+ The .
+ The value for the new
+ The to set as the response media type.
+ The collection of instances to use.
+ The to select the
+ The type of the value.
+
+
+ An implementation examines the headers provided by the MIME multipart parser as part of the MIME multipart extension methods (see ) and decides what kind of stream to return for the body part to be written to.
+
+
+ When a MIME multipart body part has been parsed this method is called to get a stream for where to write the body part to.
+ The instance where the message body part is written to.
+ Header fields describing the body part.
+
+
+ An suited for writing each MIME body parts of the MIME multipart message to a file using a .
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+ The number of bytes buffered for writes to the file.
+
+
+ Gets an <see cref="T:System.Collections.Generic.IEnumerable`1" /> containing the files names of MIME body part written to file.
+
+
+ Gets the name of the local file which will be combined with the root path to create an absolute file name where the contents of the current MIME body part will be stored.
+ A relative filename with no path component.
+ The headers for the current MIME body part.
+
+
+ This body part stream provider examines the headers provided by the MIME multipart parser and decides which to write the body part to.
+ The instance where the message body part is written to.
+ Header fields describing the body part
+
+
+ Override this method in a derived class to examine the headers provided by the MIME multipart parser and decides which to write the body part to.
+ The instance where the message body part is written to.
+ Header fields describing the body part
+
+
+ An suited for use with HTML file uploads for writing file content to a . The stream provider looks at the <b>Content-Disposition</b> header field and determines an output based on the presence of a <b>filename</b> parameter. If a <b>filename</b> parameter is present in the <b>Content-Disposition</b> header field then the body part is written to a , otherwise it is written to a . This makes it convenient to process MIME Multipart HTML Form data which is a combination of form data and file content.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+ The number of bytes buffered for writes to the file.
+
+
+ Gets an <see cref="T:System.Collections.Generic.IDictionary`2" /> instance containing mappings of each <b>filename</b> parameter provided in a <b>Content-Disposition</b> header field (represented as the keys) to a local file name where the contents of the body part is stored (represented as the values).
+
+
+ Gets the name of the local file which will be combined with the root path to create an absolute file name where the contents of the current MIME body part will be stored.
+ A relative filename with no path component.
+ The headers for the current MIME body part.
+
+
+ This body part stream provider examines the headers provided by the MIME multipart parser and decides whether it should return a file stream or a memory stream for the body part to be written to.
+ The instance where the message body part is written to.
+ Header fields describing the body part
+
+
+ Override this method in a derived class to examine the headers provided by the MIME multipart parser and decide whether it should return a file stream or a memory stream for the body part to be written to.
+ The instance where the message body part is written to.
+ Header fields describing the body part
+
+
+ Derived class that contains a strongly typed object.
+
+
+ Asynchronously creates the content read stream.
+ A instance that will yield a stream intended for reading.
+
+
+ Gets or sets the default formatter.
+ The default formatter.
+
+
+ Gets or sets the formatter context.
+ The formatter context.
+
+
+ Gets the mutable collection of instances used to serialize or deserialize the value of this .
+
+
+ Gets or sets the formatter selector.
+ The formatter selector.
+
+
+ Gets or sets the inner wrapped by by the current .
+
+
+ Gets the type of object managed by this instance.
+
+
+ Asynchronously returns the object instance for this .
+ A instance that will yield the object instance.
+
+
+
+
+
+ Asynchronously returns the object instance for this or the default value for the type if content is not available.
+ A instance that will yield the object instance.
+
+
+ Selects the appropriate to read the object content.
+ The selected or null.
+
+
+ Selects the appropriate to write the object content.
+ The selected or null.
+ The to use to describe the object's content type.
+
+
+ Asynchronously serializes the object's content to the given stream.
+ A instance that is asynchronously serializing the object's content.
+ The to which to write.
+ The associated .
+
+
+ Sets the value of the without any type checking.
+ The value to set to
+
+
+ Computes the length of the stream if possible.
+ true if the length has been computed; otherwise false.
+ The computed length of the stream.
+
+
+ Gets a value indicating whether the formatter collection was set explicitly.
+ truefalse
+
+
+ Gets a value indicating whether formatter context was set explicitly.
+ truefalse
+
+
+ Gets a value indicating whether the formatter selector was set explicitly.
+ truefalse
+
+
+ Gets and sets value indicating whether the media type was set explicitly.
+ truefalse
+
+
+ Gets or sets the write formatter.
+ The write formatter.
+
+
+ Generic form of .
+ The type of object this class will contain.
+
+
+ Returns a instance to yield the object instance for this .
+ A that will yield the object instance.
+
+
+ Returns a instance to yield the object instance for this or the default value for the type if content is not available.
+ A that will yield the object instance.
+
+
+ Extension methods to allow strongly typed objects to be read from the query component of instances.
+
+
+ Parses the query portion of the specified .
+ A containing the parsed result.
+ The instance from which to read.
+
+
+ Reads HTML form URL encoded data provided in the query component as an of the given type.
+ true if the query component can be read as the specified type; otherwise false.
+ The instance from which to read.
+ The type of the object to read.
+ An object to be initialized with this instance or null if the conversion cannot be performed.
+
+
+ Reads HTML form URL encoded data provided in the query component as an of type <typeparamref name="T" />.
+ true if the query component can be read as the specified type; otherwise false.
+ The instance from which to read.
+ An object to be initialized with this instance or null if the conversion cannot be performed.
+ The type of the object to read.
+
+
+ Reads HTML form URL encoded data provided in the query component as a object.
+ true if the query component can be read as ; otherwise false.
+ The instance from which to read.
+ An object to be initialized with this instance or null if the conversion cannot be performed.
+
+
+ Helper class to allow a synchronous formatter on top of the async formatter infrastructure. This does not guarantee non-blocking threads. The only way to guarantee that we don't block a thread on IO is: a) use the async form, or b) fully buffer the entire write operation. The user opted out of the async form, meaning they can tolerate potential thread blockages. This class just tries to do smart buffering to minimize that blockage. It also gives us a place to do future optimizations on synchronous usage.
+
+
+ Initializes a new instance of the class.
+
+
+ Suggested size of buffer to use with streams, in bytes.
+
+
+
+
+
+
+ Helper class to serialize <see cref="T:System.Collections.Generic.IEnumerable`1" /> types by delegating them through a concrete implementation."/>.
+ The interface implementing to proxy.
+
+
+ Initialize a DelegatingEnumerable. This constructor is necessary for to work.
+
+
+ Initialize a DelegatingEnumerable with an <see cref="T:System.Collections.Generic.IEnumerable`1" />. This is a helper class to proxy <see cref="T:System.Collections.Generic.IEnumerable`1" /> interfaces for .
+ The <see cref="T:System.Collections.Generic.IEnumerable`1" /> instance to get the enumerator from.
+
+
+ This method is not implemented but is required method for serialization to work. Do not use.
+ The item to add. Unused.
+
+
+ Get the enumerator of the associated <see cref="T:System.Collections.Generic.IEnumerable`1" />.
+ The enumerator of the <see cref="T:System.Collections.Generic.IEnumerable`1" /> source.
+
+
+ Get the enumerator of the associated <see cref="T:System.Collections.Generic.IEnumerable`1" />.
+ The enumerator of the <see cref="T:System.Collections.Generic.IEnumerable`1" /> source.
+
+
+ The context used to identify the or that needs to be either read or written.
+
+
+ Instantiates a new instance of a .
+ The to use in the absence of a request or response.
+ Indicates if this is context is meant to select a formatter to read or to write.
+
+
+ Instantiates a new instance of the class to use to serialize or deserialize a request.
+ The to serialize or deserialize.
+ Indicates if this is context is meant to select a formatter to read or to write.
+
+
+ Instantiates a new instance of the class to use to serialize or deserialize a response.
+ The to serialize or deserialize.
+ Indicates if this is context is meant to select a formatter to read or to write.
+
+
+ Gets the HTTP Content-Type of the request or response associated with the context.
+
+
+ Gets a value indicating whether the context will be used to select for formatter for reading or writing the content
+
+
+ Gets the associated with the context.
+
+
+ Gets the associated with the context or null if there is no associated response message.
+
+
+ Class that selects a for an or .
+
+
+ Initializes a new instance of the class.
+
+
+ Called to select a formatter for deserializing an instance of a given type.
+ The chosen for deserialization or null if their is no appropriate formatter.>
+ The type to be deserialized.
+ The context related to the deserialization of the instance.
+ The set of objects from which to choose.
+
+
+ Called to select a formatter for serializing an instance of a given type.
+ The chosen for serialization or null if their is no appropriate formatter.
+ The type to be serialized.
+ The context related to the serialization of the instance.
+ The set of objects from which to choose.
+ The media type that is associated with the formatter chosen for serialization.
+
+
+ Selects a formatter for deserializing an instance of a given type.
+ The chosen for deserialization or null if their is no appropriate formatter.>
+ The type to be deserialized.
+ The context related to the deserialization of the instance.
+ The set of objects from which to choose.
+
+
+ Selects a formatter for serializing an instance of a given type.
+ The chosen for serialization or null if their is no appropriate formatter.
+ The type to be serialized.
+ The context related to the serialization of the instance.
+ The set of objects from which to choose.
+ The media type that is associated with the formatter chosen for serialization.
+
+
+
+ class for handling HTML form URL-ended data, also known as application/x-www-form-urlencoded.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this can read objects of the specified type.
+ true if objects of this type can be read, otherwise false.
+ The type of object that will be read.
+
+
+ Determines whether this can write objects of the specified type.
+ true if objects of this type can be written, otherwise false.
+ The type of object that will be written.
+
+
+ Gets the default media type for HTML Form URL encoded data, namely application/x-www-form-urlencoded.
+
+
+
+
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ A that will write the value to the stream.
+ The type of object to write.
+ The object to write.
+ The to which to write.
+ The for the content being read.
+ The containing the respective request or response.
+ The .
+
+
+ Gets or sets the size of the buffer when reading the incoming stream.
+ The size of the read buffer.
+
+
+ Interface to select a for an or .
+
+
+ Selects a formatter for deserializing an instance of a given type.
+ The chosen for deserialization or null if their is no appropriate formatter.>
+ The type to be deserialized.
+ The context related to the deserialization of the instance.
+ The set of objects from which to choose.
+
+
+ Selects a formatter for serializing an instance of a given type.
+ The chosen for serialization or null if their is no appropriate formatter.
+ The type to be serialized.
+ The context related to the serialization of the instance.
+ The set of objects from which to choose.
+ The media type that is associated with the formatter chosen for serialization.
+
+
+ Interface to provide a key/value model of an object graph.
+
+
+ Gets all the keys for all the values.
+
+
+ Attempts to retrieve the value associated with the given key.
+ If there was a value associated with that key
+ The key of the value to retrieve.
+ The value associated with that key.
+
+
+
+ class to handle Json.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a flag indicating whether this formatter uses a serialization surrogate to allow data contracts marked with set to true to be serialized.
+ truefalse
+
+
+ Determines whether this can read objects of the specified type.
+ true if objects of this type can be read, otherwise false.
+ The type of object that will be read.
+
+
+ Determines whether this can write objects of the specified type.
+ true if objects of this type can be written, otherwise false.
+ The type of object that will be written.
+
+
+ Gets or sets the to use when writing data.
+
+
+
+
+
+ Creates the default serializer used to serialize objects of the specified type.
+ A that can serialize instances of the specified type.
+ The type of object to create a serializer for.
+ A <see cref="T:System.Collections.Generic.IEnumerable`1" /> of Type that contains the known types that may be present in the object graph.
+ true to create a serializer that can handle reference data contracts, otherwise false.
+
+
+ Gets the default media type for Json, namely "application/json".
+
+
+
+
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ A that will write the value to the stream.
+ The type of object to write.
+ The object to write.
+ The to which to write.
+ The for the content being written.
+ The containing the respective request or response.
+ The .
+
+
+ Unregisters the serializer currently associated with the given type.
+ true if a serializer was registered for the type; otherwise false.
+ The type of object whose serializer should be removed.
+
+
+ Registers the to use to read or write the specified <typeparamref name="T" /> type.
+ The instance to use.
+ The type of object that will be serialized or deserialized with the serializer.
+
+
+ Registers the to use to read or write the specified type.
+ The type of object that will be serialized or deserialized with the serializer.
+ The instance to use.
+
+
+ Class that provides s for a request or response from a media range.
+
+
+ Initializes a new instance of the class.
+ The that provides a description of the media range.
+ The to return on a match.
+
+
+ Initializes a new instance of the class.
+ The description of the media range.
+ The media type to return on a match.
+
+
+ Gets the describing the known media range.
+
+
+ Base class to handle serializing and deserializing strongly-typed objects using .
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this can deserialize an object of the specified type.
+ true if this can deserialize an object of that type; otherwise false.
+ The type of object that will be deserialized.
+
+
+ Determines whether this can serialize an object of the specified type.
+ true if this can serialize an object of that type; otherwise false.
+ The type of object that will be serialized.
+
+
+ Gets or sets the to use when reading and writing data.
+
+
+
+
+
+ Gets the mutable collection of elements used by this instance to determine the of requests or responses.
+
+
+ Called from <see cref="M:System.Net.Http.Formatting.MediaTypeFormatter.GetResponseHeaders(System.Type,System.String,System.Net.Http.HttpResponseMessage)" /> to retrieve the response headers.
+ The collection of response header key value pairs.
+ The type of the object. See .
+ The media type.
+ The .
+
+
+
+ Called to write an object to the stream asynchronously.
+ A that will write the object to the stream asynchronously.
+ The type of object to write.
+ The object instance to write.
+ The to which to write.
+ The for the content being written.
+ The containing the respective request or response.
+ The .
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets the mutable collection of elements supported by this instance.
+
+
+ Returns a that serializes the given value of the given type to the given stream.
+ A that will perform the write.
+ The type of the object to write.
+ The object value to write. It may be null.
+ The to which to write.
+ The if available. It may be null.
+ The containing the
+ The if available. It may be null.
+
+
+ Collection class that contains instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ A collection of instances to place in the collection.
+
+
+ Gets the to use for application/x-www-form-urlencoded data.
+
+
+ Gets the to use for Json.
+
+
+ Gets the to use for Xml.
+
+
+ Extensions for adding items to a .
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with requests or responses containing mediaRange in the content headers.
+ The to receive the new item.
+ The media range that will appear in the content headers.
+ The media type to associate with that mediaRange.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with requests or responses containing mediaRange in the content headers.
+ The to receive the new item.
+ The media range that will appear in the content headers.
+ The media type to associate with that mediaRange.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with s containing a specific query parameter and value.
+ The to receive the new item.
+ The name of the query parameter.
+ The value assigned to that query parameter.
+ The to associate with a containing a query string matching queryStringParameterName and queryStringParameterValue.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with s containing a specific query parameter and value.
+ The to receive the new item.
+ The name of the query parameter.
+ The value assigned to that query parameter.
+ The media type to associate with a containing a query string matching queryStringParameterName and queryStringParameterValue.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with a specific HTTP request header field with a specific value.
+ The to receive the new item.
+ Name of the header to match.
+ The header value to match.
+ The to use when matching headerValue.
+ if set to true then headerValue is considered a match if it matches a substring of the actual header value.
+ The to associate with a entry with a name matching headerName and a value matching headerValue.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with a specific HTTP request header field with a specific value.
+ The to receive the new item.
+ Name of the header to match.
+ The header value to match.
+ The to use when matching headerValue.
+ if set to true then headerValue is considered a match if it matches a substring of the actual header value.
+ The media type to associate with a entry with a name matching headerName and a value matching headerValue.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with s ending with the given uriPathExtension.
+ The to receive the new item.
+ The string of the path extension.
+ The to associate with s ending with uriPathExtension.
+
+
+ Updates the given formatter's set of elements so that it associates the mediaType with s ending with the given uriPathExtension.
+ The to receive the new item.
+ The string of the path extension.
+ The string media type to associate with s ending with uriPathExtension.
+
+
+ An abstract base class used to create an association between or instances that have certain characteristics and a specific .
+
+
+ Initializes a new instance of a with the given mediaType value.
+ The that is associated with or instances that have the given characteristics of the .
+
+
+ Initializes a new instance of a with the given mediaType value.
+ The that is associated with or instances that have the given characteristics of the .
+
+
+ Gets the that is associated with or instances that have the given characteristics of the .
+
+
+ Implemented in a derived class to determine if the should be associated with the of the .
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to evaluate for the characteristics associated with the of the .
+
+
+ Implemented in a derived class to determine if the should be associated with the of the .
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to evaluate for the characteristics associated with the of the .
+
+
+ Returns the quality of the match of the associated with request.
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to evaluate for the characteristics associated with the of the .
+
+
+ Returns the quality of the match of the associated with response.
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to evaluate for the characteristics associated with the of the .
+
+
+ Class that provides s from query strings.
+
+
+ Initializes a new instance of the class.
+ The name of the query string parameter to match, if present.
+ The value of the query string parameter specified by queryStringParameterName.
+ The to use if the query parameter specified by queryStringParameterName is present and assigned the value specified by queryStringParameterValue.
+
+
+ Initializes a new instance of the class.
+ The name of the query string parameter to match, if present.
+ The value of the query string parameter specified by queryStringParameterName.
+ The media type to use if the query parameter specified by queryStringParameterName is present and assigned the value specified by queryStringParameterValue.
+
+
+ Gets the query string parameter name.
+
+
+ Gets the query string parameter value.
+
+
+ This class provides a mapping from an arbitrary HTTP request header field to a used to select instances for handling the entity body of an or . <remarks>This class only checks header fields associated with for a match. It does not check header fields associated with or instances.</remarks>
+
+
+ Initializes a new instance of the class.
+ Name of the header to match.
+ The header value to match.
+ The to use when matching headerValue.
+ if set to true then headerValue is considered a match if it matches a substring of the actual header value.
+ The to use if headerName and headerValue is considered a match.
+
+
+ Initializes a new instance of the class.
+ Name of the header to match.
+ The header value to match.
+ The value comparison to use when matching headerValue.
+ if set to true then headerValue is considered a match if it matches a substring of the actual header value.
+ The media type to use if headerName and headerValue is considered a match.
+
+
+ Gets the name of the header to match.
+
+
+ Gets the header value to match.
+
+
+ Gets the to use when matching .
+
+
+ Gets a value indicating whether is a matched as a substring of the actual header value. this instance is value substring.
+ truefalse
+
+
+ Returns a value indicating whether the current instance can return a from request.
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to check.
+
+
+ Returns a value indicating whether the current instance can return a from response.
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to check.
+
+
+ Class that provides s from path extensions appearing in a .
+
+
+ Initializes a new instance of the class.
+ The extension corresponding to mediaType. This value should not include a dot or wildcards.
+ The that will be returned if uriPathExtension is matched.
+
+
+ Initializes a new instance of the class.
+ The extension corresponding to mediaType. This value should not include a dot or wildcards.
+ The media type that will be returned if uriPathExtension is matched.
+
+
+ Gets the path extension.
+
+
+
+ class to handle Xml.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this can read objects of the specified type.
+ true if objects of this type can be read, otherwise false.
+ The type of object that will be read.
+
+
+ Determines whether this can write objects of the specified type.
+ true if objects of this type can be written, otherwise false.
+ The type of object that will be written.
+
+
+ Gets or sets the to use when writing data.
+
+
+
+
+
+ Gets the default media type for xml, namely "application/xml".
+ <remarks> The default media type does not have any charset parameter as the can be configured on a per instance basis. </remarks>
+
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ A that will write the value to the stream.
+ The type of object to write.
+ The object to write.
+ The to which to write.
+ The for the content being written.
+ The containing the respective request or response.
+ The .
+
+
+ Unregisters the serializer currently associated with the given type.
+ true if a serializer was registered for the type; otherwise false.
+ The type of object whose serializer should be removed.
+
+
+ Registers the to use to read or write the specified <typeparamref name="T" /> type.
+ The instance to use.
+ The type of object that will be serialized or deserialized with serializer.
+
+
+ Registers the to use to read or write the specified type.
+ The type of object that will be serialized or deserialized with serializer.
+ The instance to use.
+
+
+ Registers the to use to read or write the specified type.
+ The type of objects for which serializer will be used.
+ The instance to use.
+
+
+ Registers the to use to read or write the specified <typeparamref name="T" /> type.
+ The instance to use.
+ The type of object that will be serialized or deserialized with serializer.
+
+
+ Gets or sets a value indicating whether to use by default.
+ truefalsefalse
+
+
+
\ No newline at end of file
diff --git a/lib/aspnetwebapi/System.Net.Http.WebRequest.dll b/lib/aspnetwebapi/System.Net.Http.WebRequest.dll
new file mode 100644
index 000000000..a97b7aeb2
Binary files /dev/null and b/lib/aspnetwebapi/System.Net.Http.WebRequest.dll differ
diff --git a/lib/aspnetwebapi/System.Net.Http.WebRequest.xml b/lib/aspnetwebapi/System.Net.Http.WebRequest.xml
new file mode 100644
index 000000000..96087e392
--- /dev/null
+++ b/lib/aspnetwebapi/System.Net.Http.WebRequest.xml
@@ -0,0 +1,59 @@
+
+
+
+ System.Net.Http.WebRequest
+
+
+
+ Represents the class that is used to create special for use with the Real-Time-Communications (RTC) background notification infrastructure.
+
+
+ Creates a special for use with the Real-Time-Communications (RTC) background notification infrastructure.
+ Returns .An HTTP request message for use with the RTC background notification infrastructure.
+ The HTTP method.
+ The Uri the request is sent to.
+
+
+ Provides desktop-specific features not available to Metro apps or other environments.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value that indicates whether to pipeline the request to the Internet resource.
+ Returns .true if the request should be pipelined; otherwise, false. The default is true.
+
+
+ Gets or sets a value indicating the level of authentication and impersonation used for this request.
+ Returns .A bitwise combination of the values. The default value is .
+
+
+ Gets or sets the cache policy for this request.
+ Returns .A object that defines a cache policy. The default is .
+
+
+ Gets or sets the collection of security certificates that are associated with this request.
+ Returns .The collection of security certificates associated with this request.
+
+
+ Gets or sets the amount of time, in milliseconds, the application will wait for 100-continue from the server before uploading data.
+ Returns .The amount of time, in milliseconds, the application will wait for 100-continue from the server before uploading data. The default value is 350 milliseconds.
+
+
+ Gets or sets the impersonation level for the current request.
+ Returns .The impersonation level for the request. The default is .
+
+
+ Gets or sets the maximum allowed length of the response headers.
+ Returns .The length, in kilobytes (1024 bytes), of the response headers.
+
+
+ Gets or sets a time-out in milliseconds when writing a request to or reading a response from a server.
+ Returns .The number of milliseconds before the writing or reading times out. The default value is 300,000 milliseconds (5 minutes).
+
+
+ Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing.
+ Returns .true to keep the authenticated connection open; otherwise, false.
+
+
+
\ No newline at end of file
diff --git a/lib/aspnetwebapi/System.Net.Http.dll b/lib/aspnetwebapi/System.Net.Http.dll
new file mode 100644
index 000000000..9dc93bc98
Binary files /dev/null and b/lib/aspnetwebapi/System.Net.Http.dll differ
diff --git a/lib/aspnetwebapi/System.Net.Http.xml b/lib/aspnetwebapi/System.Net.Http.xml
new file mode 100644
index 000000000..9ba7191c4
--- /dev/null
+++ b/lib/aspnetwebapi/System.Net.Http.xml
@@ -0,0 +1,1920 @@
+
+
+
+ System.Net.Http
+
+
+
+ Provides HTTP content based on a byte array.
+
+
+ Initializes a new instance of the class.
+ The content used to initialize the .
+ The parameter is null.
+
+
+ Initializes a new instance of the class.
+ The content used to initialize the .
+ The offset, in bytes, in the parameter used to initialize the .
+ The number of bytes in the starting from the parameter used to initialize the .
+ The parameter is null.
+ The parameter is less than zero.-or-The parameter is greater than the length of content specified by the parameter.-or-The parameter is less than zero.-or-The parameter is greater than the length of content specified by the parameter - minus the parameter.
+
+
+ Creates an HTTP content stream as an asynchronous operation for reading whose backing store is memory from the .
+ Returns .The task object representing the asynchronous operation.
+
+
+ Serialize and write the byte array provided in the constructor to an HTTP content stream as an asynchronous operation.
+ Returns . The task object representing the asynchronous operation.
+ The target stream.
+ Information about the transport, like channel binding token. This parameter may be null.
+
+
+ Determines whether a byte array has a valid length in bytes.
+ Returns .true if is a valid length; otherwise, false.
+ The length in bytes of the byte array.
+
+
+ Specifies how client certificates are provided.
+
+
+ The application manually provides the client certificates to the . This value is the default.
+
+
+ The will attempt to provide all available client certificates automatically.
+
+
+ A base type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.
+
+
+ Creates a new instance of the class.
+
+
+ Creates a new instance of the class with a specific inner handler.
+ The inner handler which is responsible for processing the HTTP response messages.
+
+
+ Releases the unmanaged resources used by the , and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Gets or sets the inner handler which processes the HTTP response messages.
+ Returns .The inner handler for HTTP response messages.
+
+
+ Sends an HTTP request to the inner handler to send to the server as an asynchronous operation.
+ Returns . The task object representing the asynchronous operation.
+ The HTTP request message to send to the server.
+ A cancellation token to cancel operation.
+ The was null.
+
+
+ A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type.
+
+
+ Initializes a new instance of the class with a specific collection of name/value pairs.
+ A collection of name/value pairs.
+
+
+ Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with a specific handler.
+ The HTTP handler stack to use for sending requests.
+
+
+ Gets or sets the base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests.
+ Returns .The base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests.
+
+
+ Cancel all pending requests on this instance.
+
+
+ Gets the headers which should be sent with each request.
+ Returns .The headers which should be sent with each request.
+
+
+ Send a DELETE request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a DELETE request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Releases the unmanaged resources and disposes of the managed resources used by the .
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Send a GET request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation.
+ Returns .
+ The Uri the request is sent to.
+ An HTTP completion option value that indicates when the operation should be considered completed.
+ The was null.
+
+
+ Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation.
+ Returns .
+ The Uri the request is sent to.
+ An HTTP completion option value that indicates when the operation should be considered completed.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a GET request to the specified Uri with a cancellation token as an asynchronous operation.
+ Returns .
+ The Uri the request is sent to.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a GET request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ An HTTP completion option value that indicates when the operation should be considered completed.
+ The was null.
+
+
+ Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ An HTTP completion option value that indicates when the operation should be considered completed.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a GET request to the specified Uri with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The was null.
+
+
+ Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The was null.
+
+
+ Gets or sets the maximum number of bytes to buffer when reading the response content.
+ Returns .The maximum number of bytes to buffer when reading the response content.
+ The size specified is less than or equal to zero.
+ An operation has already been started on the current instance.
+ The current instance has been disposed.
+
+
+ Send a POST request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ The was null.
+
+
+ Send a POST request with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a POST request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ The was null.
+
+
+ Send a POST request with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a PUT request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ The was null.
+
+
+ Send a PUT request with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send a PUT request to the specified Uri as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ The was null.
+
+
+ Send a PUT request with a cancellation token as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The Uri the request is sent to.
+ The HTTP request content sent to the server.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Send an HTTP request as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message to send.
+ The was null.
+ The request message was already sent by the instance.
+
+
+ Send an HTTP request as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message to send.
+ When the operation should complete (as soon as a response is available or after reading the whole response content).
+ The was null.
+ The request message was already sent by the instance.
+
+
+ Send an HTTP request as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message to send.
+ When the operation should complete (as soon as a response is available or after reading the whole response content).
+ The cancellation token to cancel operation.
+ The was null.
+ The request message was already sent by the instance.
+
+
+ Send an HTTP request as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message to send.
+ The cancellation token to cancel operation.
+ The was null.
+ The request message was already sent by the instance.
+
+
+ Gets or sets the number of milliseconds to wait before the request times out.
+ Returns .The number of milliseconds to wait before the request times out.
+ The timeout specified is less than or equal to zero and is not .
+ An operation has already been started on the current instance.
+ The current instance has been disposed.
+
+
+ The default message handler used by .
+
+
+ Creates an instance of a class.
+
+
+ Gets or sets a value that indicates whether the handler should follow redirection responses.
+ Returns .true if the if the handler should follow redirection responses; otherwise false. The default value is true.
+
+
+ Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response.
+ Returns .The automatic decompression method used by the handler. The default value is .
+
+
+ Gets or sets the collection of security certificates that are associated with this handler.
+ Returns .The collection of security certificates associated with this handler.
+
+
+ Gets or sets the cookie container used to store server cookies by the handler.
+ Returns .The cookie container used to store server cookies by the handler.
+
+
+ Gets or sets authentication information used by this handler.
+ Returns .The authentication credentials associated with the handler. The default is null.
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Gets or sets the maximum number of redirects that the handler follows.
+ Returns .The maximum number of redirection responses that the handler follows. The default value is 50.
+
+
+ Gets or sets the maximum request content buffer size used by the handler.
+ Returns .The maximum request content buffer size in bytes. The default value is 65,536 bytes.
+
+
+ Gets or sets a value that indicates whether the handler sends an Authorization header with the request.
+ Returns .true for the handler to send an HTTP Authorization header with requests after authentication has taken place; otherwise, false. The default is false.
+
+
+ Gets or sets proxy information used by the handler.
+ Returns .The proxy information used by the handler. The default value is null.
+
+
+ Creates an instance of based on the information provided in the as an operation that will not block.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message.
+ A cancellation token to cancel the operation.
+ The was null.
+
+
+ Gets a value that indicates whether the handler supports automatic response content decompression.
+ Returns .true if the if the handler supports automatic response content decompression; otherwise false. The default value is true.
+
+
+ Gets a value that indicates whether the handler supports proxy settings.
+ Returns .true if the if the handler supports proxy settings; otherwise false. The default value is true.
+
+
+ Gets a value that indicates whether the handler supports configuration settings for the and properties.
+ Returns .true if the if the handler supports configuration settings for the and properties; otherwise false. The default value is true.
+
+
+ Gets or sets a value that indicates whether the handler uses the property to store server cookies and uses these cookies when sending requests.
+ Returns .true if the if the handler supports uses the property to store server cookies and uses these cookies when sending requests; otherwise false. The default value is true.
+
+
+ Gets or sets a value that controls whether default credentials are sent with requests by the handler.
+ Returns .true if the default credentials are used; otherwise false. The default value is false.
+
+
+ Gets or sets a value that indicates whether the handler uses a proxy for requests.
+ Returns .true if the handler should use a proxy for requests; otherwise false. The default value is true.
+
+
+ Indicates if operations should be considered completed either as soon as a response is available, or after reading the entire response message including the content.
+
+
+ The operation should complete after reading the entire response including the content.
+
+
+ The operation should complete as soon as a response is available and headers are read. The content is not read yet.
+
+
+ A base class representing an HTTP entity body and content headers.
+
+
+ Initializes a new instance of the class.
+
+
+ Write the HTTP content to a stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The target stream.
+
+
+ Write the HTTP content to a stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The target stream.
+ Information about the transport (channel binding token, for example). This parameter may be null.
+
+
+ Write the HTTP content to a memory stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+
+
+ Releases the unmanaged resources and disposes of the managed resources used by the .
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Gets the HTTP content headers as defined in RFC 2616.
+ Returns .The content headers as defined in RFC 2616.
+
+
+ Serialize the HTTP content to a memory buffer as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+
+
+ Serialize the HTTP content to a memory buffer as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The maximum size, in bytes, of the buffer to use.
+
+
+ Write the HTTP content to a byte array as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+
+
+ Write the HTTP content to a stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+
+
+ Write the HTTP content to a string as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+
+
+ Serialize the HTTP content to a stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The target stream.
+ Information about the transport (channel binding token, for example). This parameter may be null.
+
+
+ Determines whether the HTTP content has a valid length in bytes.
+ Returns .true if is a valid length; otherwise, false.
+ The length in bytes of the HHTP content.
+
+
+ A base type for HTTP message handlers.
+
+
+ Initializes a new instance of the class.
+
+
+ Releases the unmanaged resources and disposes of the managed resources used by the .
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Send an HTTP request as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message to send.
+ The cancellation token to cancel operation.
+ The was null.
+
+
+ A helper class for retrieving and comparing standard HTTP methods.
+
+
+ Initializes a new instance of the class with a specific HTTP method.
+ The HTTP method.
+
+
+ Represents an HTTP DELETE protocol method.
+ Returns .
+
+
+ Determines whether the specified is equal to the current .
+ Returns .true if the specified object is equal to the current object; otherwise, false.
+ The HTTP method to compare with the current object.
+
+
+ Determines whether the specified is equal to the current .
+ Returns .true if the specified object is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ Represents an HTTP GET protocol method.
+ Returns .
+
+
+ Serves as a hash function for this type.
+ Returns .A hash code for the current .
+
+
+ Represents an HTTP HEAD protocol method. The HEAD method is identical to GET except that the server only returns message-headers in the response, without a message-body.
+ Returns .
+
+
+ An HTTP method.
+ Returns .An HTTP method represented as a .
+
+
+ The equality operator for comparing two objects.
+ Returns .true if the specified and parameters are equal; otherwise, false.
+ The left to an equality operator.
+ The right to an equality operator.
+
+
+ The inequality operator for comparing two objects.
+ Returns .true if the specified and parameters are inequal; otherwise, false.
+ The left to an inequality operator.
+ The right to an inequality operator.
+
+
+ Represents an HTTP OPTIONS protocol method.
+ Returns .
+
+
+ Represents an HTTP POST protocol method that is used to post a new entity as an addition to a URI.
+ Returns .
+
+
+ Represents an HTTP PUT protocol method that is used to replace an entity identified by a URI.
+ Returns .
+
+
+ Returns a string that represents the current object.
+ Returns .A string representing the current object.
+
+
+ Represents an HTTP TRACE protocol method.
+ Returns .
+
+
+ A base class for exceptions thrown by the and classes.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with a specific message that describes the current exception.
+ A message that describes the current exception.
+
+
+ Initializes a new instance of the class with a specific message that describes the current exception and an inner exception.
+ A message that describes the current exception.
+ The inner exception.
+
+
+ Represents a HTTP request message.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with an HTTP method and a request .
+ The HTTP method.
+ A string that represents the request .
+
+
+ Initializes a new instance of the class with an HTTP method and a request .
+ The HTTP method.
+ The to request.
+
+
+ Gets or sets the contents of the HTTP message.
+ Returns .The content of a message
+
+
+ Releases the unmanaged resources and disposes of the managed resources used by the .
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Gets the collection of HTTP request headers.
+ Returns .The collection of HTTP request headers.
+
+
+ Gets or sets the HTTP method used by the HTTP request message.
+ Returns .The HTTP method used by the request message. The default is the GET method.
+
+
+ Gets a set of properties for the HTTP request.
+ Returns .
+
+
+ Gets or sets the used for the HTTP request.
+ Returns .The used for the HTTP request.
+
+
+ Returns a string that represents the current object.
+ Returns .A string representation of the current object.
+
+
+ Gets or sets the HTTP message version.
+ Returns .The HTTP message version. The default is 1.1.
+
+
+ Represents a HTTP response message.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with a specific .
+ The status code of the HTTP response.
+
+
+ Gets or sets the content of a HTTP response message.
+ Returns .The content of the HTTP response message.
+
+
+ Releases the unmanaged resources and disposes of unmanaged resources used by the .
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Throws an exception if the property for the HTTP response is false.
+ Returns .The HTTP response message if the call is successful.
+
+
+ Gets the collection of HTTP response headers.
+ Returns .The collection of HTTP response headers.
+
+
+ Gets a value that indicates if the HTTP response was successful.
+ Returns .A value that indicates if the HTTP response was successful. true if was in the range 200-299; otherwise false.
+
+
+ Gets or sets the reason phrase which typically is sent by servers together with the status code.
+ Returns .The reason phrase sent by the server.
+
+
+ Gets or sets the request message which led to this response message.
+ Returns .The request message which led to this response message.
+
+
+ Gets or sets the status code of the HTTP response.
+ Returns .The status code of the HTTP response.
+
+
+ Returns a string that represents the current object.
+ Returns .A string representation of the current object.
+
+
+ Gets or sets the HTTP message version.
+ Returns .The HTTP message version. The default is 1.1.
+
+
+ A base type for handlers which only do some small processing of request and/or response messages.
+
+
+ Creates an instance of a class.
+
+
+ Creates an instance of a class with a specific inner handler.
+ The inner handler which is responsible for processing the HTTP response messages.
+
+
+ Processes an HTTP request message.
+ Returns .The HTTP request message that was processed.
+ The HTTP request message to process.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+
+
+ Processes an HTTP response message.
+ Returns .The HTTP response message that was processed.
+ The HTTP response message to process.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+
+
+ Sends an HTTP request to the inner handler to send to the server as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The HTTP request message to send to the server.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The was null.
+
+
+ Provides a collection of objects that get serialized using the multipart/* content type specification.
+
+
+ Creates a new instance of the class.
+
+
+ Creates a new instance of the class.
+ The subtype of the multipart content.
+ The was null or contains only white space characters.
+
+
+ Creates a new instance of the class.
+ The subtype of the multipart content.
+ The boundary string for the multipart content.
+ The was null or an empty string.The was null or contains only white space characters.-or-The ends with a space character.
+ The length of the was greater than 70.
+
+
+ Add multipart HTTP content to a collection of objects that get serialized using the multipart/* content type specification.
+ The HTTP content to add to the collection.
+ The was null.
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Returns an enumerator that iterates through the collection of objects that get serialized using the multipart/* content type specification..
+ Returns .An object that can be used to iterate through the collection.
+
+
+ Serialize the multipart HTTP content to a stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The target stream.
+ Information about the transport (channel binding token, for example). This parameter may be null.
+
+
+ The explicit implementation of the method.
+ Returns .An object that can be used to iterate through the collection.
+
+
+ Determines whether the HTTP multipart content has a valid length in bytes.
+ Returns .true if is a valid length; otherwise, false.
+ The length in bytes of the HHTP content.
+
+
+ Provides a container for content encoded using multipart/form-data MIME type.
+
+
+ Creates a new instance of the class.
+
+
+ Creates a new instance of the class.
+ The boundary string for the multipart form data content.
+ The was null or contains only white space characters.-or-The ends with a space character.
+ The length of the was greater than 70.
+
+
+ Add HTTP content to a collection of objects that get serialized to multipart/form-data MIME type.
+ The HTTP content to add to the collection.
+ The was null.
+
+
+ Add HTTP content to a collection of objects that get serialized to multipart/form-data MIME type.
+ The HTTP content to add to the collection.
+ The name for the HTTP content to add.
+ The was null or contains only white space characters.
+ The was null.
+
+
+ Add HTTP content to a collection of objects that get serialized to multipart/form-data MIME type.
+ The HTTP content to add to the collection.
+ The name for the HTTP content to add.
+ The file name for the HTTP content to add to the collection.
+ The was null or contains only white space characters.-or-The was null or contains only white space characters.
+ The was null.
+
+
+ Provides HTTP content based on a stream.
+
+
+ Creates a new instance of the class.
+ The content used to initialize the .
+
+
+ Creates a new instance of the class.
+ The content used to initialize the .
+ The size, in bytes, of the buffer for the .
+ The was null.
+ The was less than or equal to zero.
+
+
+ Write the HTTP stream content to a memory stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+
+
+ Releases the unmanaged resources used by the and optionally disposes of the managed resources.
+ true to release both managed and unmanaged resources; false to releases only unmanaged resources.
+
+
+ Serialize the HTTP content to a stream as an asynchronous operation.
+ Returns .The task object representing the asynchronous operation.
+ The target stream.
+ Information about the transport (channel binding token, for example). This parameter may be null.
+
+
+ Determines whether the stream content has a valid length in bytes.
+ Returns .true if is a valid length; otherwise, false.
+ The length in bytes of the stream content.
+
+
+ Provides HTTP content based on a string.
+
+
+ Creates a new instance of the class.
+ The content used to initialize the .
+
+
+ Creates a new instance of the class.
+ The content used to initialize the .
+ The encoding to use for the content.
+
+
+ Creates a new instance of the class.
+ The content used to initialize the .
+ The encoding to use for the content.
+ The media type to use for the content.
+
+
+ Represents authentication information in Authorization, ProxyAuthorization, WWW-Authneticate, and Proxy-Authenticate header values.
+
+
+ Initializes a new instance of the class.
+ The scheme to use for authorization.
+
+
+ Initializes a new instance of the class.
+ The scheme to use for authorization.
+ The credentials containing the authentication information of the user agent for the resource being requested.
+
+
+ Determines whether the specified is equal to the current object.
+ Returns .true if the specified is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ Serves as a hash function for an object.
+ Returns .A hash code for the current object.
+
+
+ Gets the credentials containing the authentication information of the user agent for the resource being requested.
+ Returns .The credentials containing the authentication information.
+
+
+ Converts a string to an instance.
+ Returns .An instance.
+ A string that represents authentication header value information.
+
+ is a null reference.
+
+ is not valid authentication header value information.
+
+
+ Gets the scheme to use for authorization.
+ Returns .The scheme to use for authorization.
+
+
+ Creates a new object that is a copy of the current instance.
+ Returns .A copy of the current instance.
+
+
+ Returns a string that represents the current object.
+ Returns .A string that represents the current object.
+
+
+ Determines whether a string is valid information.
+ Returns .true if is valid information; otherwise, false.
+ The string to validate.
+ The version of the string.
+
+
+ Represents the value of the Cache-Control header.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the specified is equal to the current object.
+ Returns .true if the specified is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ Cache-extension tokens, each with an optional assigned value.
+ Returns .A collection of cache-extension tokens each with an optional assigned value.
+
+
+ Serves as a hash function for a object.
+ Returns .A hash code for the current object.
+
+
+ The maximum age, specified in seconds, that the HTTP client is willing to accept a response.
+ Returns .The time in seconds.
+
+
+ Whether an HTTP client is willing to accept a response that has exceeded its expiration time.
+ Returns .true if the HTTP client is willing to accept a response that has exceed the expiration time; otherwise, false.
+
+
+ The maximum time, in seconds, an HTTP client is willing to accept a response that has exceeded its expiration time.
+ Returns .The time in seconds.
+
+
+ The freshness lifetime, in seconds, that an HTTP client is willing to accept a response.
+ Returns .The time in seconds.
+
+
+ Whether the origin server require revalidation of a cache entry on any subsequent use when the cache entry becomes stale.
+ Returns .true if the origin server requires revalidation of a cache entry on any subsequent use when the entry becomes stale; otherwise, false.
+
+
+ Whether an HTTP client is willing to accept a cached response.
+ Returns .true if the HTTP client is willing to accept a cached response; otherwise, false.
+
+
+ A collection of fieldnames in the "no-cache" directive in a cache-control header field on an HTTP response.
+ Returns .A collection of fieldnames.
+
+
+ Whether a cache must not store any part of either the HTTP request mressage or any response.
+ Returns .true if a cache must not store any part of either the HTTP request mressage or any response; otherwise, false.
+
+
+ Whether a cache or proxy must not change any aspect of the entity-body.
+ Returns .true if a cache or proxy must not change any aspect of the entity-body; otherwise, false.
+
+
+ Whether a cache should either respond using a cached entry that is consistent with the other constraints of the HTTP request, or respond with a 504 (Gateway Timeout) status.
+ Returns .true if a cache should either respond using a cached entry that is consistent with the other constraints of the HTTP request, or respond with a 504 (Gateway Timeout) status; otherwise, false.
+
+
+ Converts a string to an instance.
+ Returns .A instance.
+ A string that represents cache-control header value information.
+
+ is a null reference.
+
+ is not valid cache-control header value information.
+
+
+ Whether all or part of the HTTP response message is intended for a single user and must not be cached by a shared cache.
+ Returns .true if the HTTP response message is intended for a single user and must not be cached by a shared cache; otherwise, false.
+
+
+ A collection fieldnames in the "private" directive in a cache-control header field on an HTTP response.
+ Returns .A collection of fieldnames.
+
+
+ Whether the origin server require revalidation of a cache entry on any subsequent use when the cache entry becomes stale for shared user agent caches.
+ Returns .true if the origin server requires revalidation of a cache entry on any subsequent use when the entry becomes stale for shared user agent caches; otherwise, false.
+
+
+ Whether an HTTP response may be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non- shared cache.
+ Returns .true if the HTTP response may be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non- shared cache; otherwise, false.
+
+
+ Returns .
+
+
+ Creates a new object that is a copy of the current instance.
+ Returns .A copy of the current instance.
+
+
+ Returns a string that represents the current object.
+ Returns .A string that represents the current object.
+
+
+ Determines whether a string is valid information.
+ Returns .true if is valid information; otherwise, false.
+ The string to validate.
+ The version of the string.
+
+
+ Represents the value of the Content-Disposition header.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ The date at which the file was created.
+ Returns .The file creation date.
+
+
+ The disposition type for a content body part.
+ Returns .The disposition type.
+
+
+ Determines whether the specified is equal to the current object.
+ Returns .true if the specified is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ A suggestion for how to construct a filename for storing the message payload to be used if the entity is detached and stored in a separate file.
+ Returns .A suggested filename.
+
+
+ A suggestion for how to construct filenames for storing message payloads to be used if the entities are detached and stored in a separate files.
+ Returns .A suggested filename of the form filename*.
+
+
+ Serves as a hash function for an object.
+ Returns .A hash code for the current object.
+
+
+ The date at which the file was last modified.
+ Returns .The file modification date.
+
+
+ The name for a content body part.
+ Returns .The name for the content body part.
+
+
+ A set of parameters included the Content-Disposition header.
+ Returns .A collection of parameters.
+
+
+ Converts a string to an instance.
+ Returns .An instance.
+ A string that represents content disposition header value information.
+
+ is a null reference.
+
+ is not valid content disposition header value information.
+
+
+ The date the file was last read.
+ Returns .The last read date.
+
+
+ The approximate size, in bytes, of the file.
+ Returns .The approximate size, in bytes.
+
+
+ Creates a new object that is a copy of the current instance.
+ Returns .A copy of the current instance.
+
+
+ Returns a string that represents the current object.
+ Returns .A string that represents the current object.
+
+
+ Determines whether a string is valid information.
+ Returns .true if is valid information; otherwise, false.
+ The string to validate.
+ The version of the string.
+
+
+ Represents the value of the Content-Range header.
+
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents an entity-tag header value.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents the collection of Content Headers as defined in RFC 2616.
+
+
+ Gets the value of the Allow content header on an HTTP response.
+ Returns .The value of the Allow header on an HTTP response.
+
+
+ Returns .
+
+
+ Gets the value of the Content-Encoding content header on an HTTP response.
+ Returns .The value of the Content-Encoding content header on an HTTP response.
+
+
+ Gets the value of the Content-Language content header on an HTTP response.
+ Returns .The value of the Content-Language content header on an HTTP response.
+
+
+ Gets or sets the value of the Content-Length content header on an HTTP response.
+ Returns .The value of the Content-Length content header on an HTTP response.
+
+
+ Gets or sets the value of the Content-Location content header on an HTTP response.
+ Returns .The value of the Content-Location content header on an HTTP response.
+
+
+ Gets or sets the value of the Content-MD5 content header on an HTTP response.
+ Returns .The value of the Content-MD5 content header on an HTTP response.
+
+
+ Gets or sets the value of the Content-Range content header on an HTTP response.
+ Returns .The value of the Content-Range content header on an HTTP response.
+
+
+ Gets or sets the value of the Content-Type content header on an HTTP response.
+ Returns .The value of the Content-Type content header on an HTTP response.
+
+
+ Gets or sets the value of the Expires content header on an HTTP response.
+ Returns .The value of the Expires content header on an HTTP response.
+
+
+ Gets or sets the value of the Last-Modified content header on an HTTP response.
+ Returns .The value of the Last-Modified content header on an HTTP response.
+
+
+ A collection of headers and their values as defined in RFC 2616.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds the specified header and its values into the collection.
+ The header to add to the collection.
+ A list of header values to add to the collection.
+
+
+ Adds the specified header and its value into the collection.
+ The header to add to the collection.
+ The content of the header.
+
+
+ Adds the specified header and its values into the collection without validating the provided information.
+ The header to add to the collection.
+ The values of the header.
+
+
+ Adds the specified header and its the value into the collection without validating the provided information.
+ The header to add to the collection.
+ The content of the header.
+
+
+ Removes all headers from the collection.
+
+
+ Returns if a specific header exists in the collection.
+ Returns .true is the specified header exists in the collection; otherwise false.
+ The specific header.
+
+
+ Returns an enumerator that can iterate through the instance.
+ Returns .An enumerator for the .
+
+
+ Returns all header values for a specified header stored in the collection.
+ Returns .An array of header strings.
+ The specified header to return values for.
+
+
+ Removes the specified header from the collection.
+ Returns .
+ The name of the header to remove from the collection.
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Return if a specified header and specified values are stored in the collection.
+ Returns .true is the specified header and values are stored in the collection; otherwise false.
+ The specified header.
+ The specified header values.
+
+
+ Represents a collection of header values.
+
+
+
+
+
+ Returns .
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents the collection of Request Headers as defined in RFC 2616.
+
+
+ Gets the value of the Accept header for an HTTP request.
+ Returns .The value of the Accept header for an HTTP request.
+
+
+ Gets the value of the Accept-Charset header for an HTTP request.
+ Returns .The value of the Accept-Charset header for an HTTP request.
+
+
+ Gets the value of the Accept-Encoding header for an HTTP request.
+ Returns .The value of the Accept-Encoding header for an HTTP request.
+
+
+ Gets the value of the Accept-Language header for an HTTP request.
+ Returns .The value of the Accept-Language header for an HTTP request.
+
+
+ Gets or sets the value of the Authorization header for an HTTP request.
+ Returns .The value of the Authorization header for an HTTP request.
+
+
+ Gets or sets the value of the Cache-Control header for an HTTP request.
+ Returns .The value of the Cache-Control header for an HTTP request.
+
+
+ Gets the value of the Connection header for an HTTP request.
+ Returns .The value of the Connection header for an HTTP request.
+
+
+ Gets or sets a value that indicates if the Connection header for an HTTP request contains Close.
+ Returns .true if the Connection header contains Close, otherwise false.
+
+
+ Gets or sets the value of the Date header for an HTTP request.
+ Returns .The value of the Date header for an HTTP request.
+
+
+ Gets the value of the Expect header for an HTTP request.
+ Returns .The value of the Expect header for an HTTP request.
+
+
+ Gets or sets a value that indicates if the Expect header for an HTTP request contains Continue.
+ Returns .true if the Expect header contains Continue, otherwise false.
+
+
+ Gets or sets the value of the From header for an HTTP request.
+ Returns .The value of the From header for an HTTP request.
+
+
+ Gets or sets the value of the Host header for an HTTP request.
+ Returns .The value of the Host header for an HTTP request.
+
+
+ Gets the value of the If-Match header for an HTTP request.
+ Returns .The value of the If-Match header for an HTTP request.
+
+
+ Gets or sets the value of the If-Modified-Since header for an HTTP request.
+ Returns .The value of the If-Modified-Since header for an HTTP request.
+
+
+ Gets the value of the If-None-Match header for an HTTP request.
+ Returns .Gets the value of the If-None-Match header for an HTTP request.
+
+
+ Gets or sets the value of the If-Range header for an HTTP request.
+ Returns .The value of the If-Range header for an HTTP request.
+
+
+ Gets or sets the value of the If-Unmodified-Since header for an HTTP request.
+ Returns .The value of the If-Unmodified-Since header for an HTTP request.
+
+
+ Gets or sets the value of the Max-Forwards header for an HTTP request.
+ Returns .The value of the Max-Forwards header for an HTTP request.
+
+
+ Gets the value of the Pragma header for an HTTP request.
+ Returns .The value of the Pragma header for an HTTP request.
+
+
+ Gets or sets the value of the Proxy-Authorization header for an HTTP request.
+ Returns .The value of the Proxy-Authorization header for an HTTP request.
+
+
+ Gets or sets the value of the Range header for an HTTP request.
+ Returns .The value of the Range header for an HTTP request.
+
+
+ Gets or sets the value of the Referer header for an HTTP request.
+ Returns .The value of the Referer header for an HTTP request.
+
+
+ Gets the value of the TE header for an HTTP request.
+ Returns .The value of the TE header for an HTTP request.
+
+
+ Gets the value of the Trailer header for an HTTP request.
+ Returns .The value of the Trailer header for an HTTP request.
+
+
+ Gets the value of the Transfer-Encoding header for an HTTP request.
+ Returns .The value of the Transfer-Encoding header for an HTTP request.
+
+
+ Gets or sets a value that indicates if the Transfer-Encoding header for an HTTP request contains chunked.
+ Returns .true if the Transfer-Encoding header contains chunked, otherwise false.
+
+
+ Gets the value of the Upgrade header for an HTTP request.
+ Returns .The value of the Upgrade header for an HTTP request.
+
+
+ Gets the value of the User-Agent header for an HTTP request.
+ Returns .The value of the User-Agent header for an HTTP request.
+
+
+ Gets the value of the Via header for an HTTP request.
+ Returns .The value of the Via header for an HTTP request.
+
+
+ Gets the value of the Warning header for an HTTP request.
+ Returns .The value of the Warning header for an HTTP request.
+
+
+ Represents the collection of Response Headers as defined in RFC 2616.
+
+
+ Gets the value of the Accept-Ranges header for an HTTP response.
+ Returns .The value of the Accept-Ranges header for an HTTP response.
+
+
+ Gets or sets the value of the Age header for an HTTP response.
+ Returns .The value of the Age header for an HTTP response.
+
+
+ Gets or sets the value of the Cache-Control header for an HTTP response.
+ Returns .The value of the Cache-Control header for an HTTP response.
+
+
+ Gets the value of the Connection header for an HTTP response.
+ Returns .The value of the Connection header for an HTTP response.
+
+
+ Gets or sets a value that indicates if the Connection header for an HTTP response contains Close.
+ Returns .true if the Connection header contains Close, otherwise false.
+
+
+ Gets or sets the value of the Date header for an HTTP response.
+ Returns .The value of the Date header for an HTTP response.
+
+
+ Gets or sets the value of the ETag header for an HTTP response.
+ Returns .The value of the ETag header for an HTTP response.
+
+
+ Gets or sets the value of the Location header for an HTTP response.
+ Returns .The value of the Location header for an HTTP response.
+
+
+ Gets the value of the Pragma header for an HTTP response.
+ Returns .The value of the Pragma header for an HTTP response.
+
+
+ Gets the value of the Proxy-Authenticate header for an HTTP response.
+ Returns .The value of the Proxy-Authenticate header for an HTTP response.
+
+
+ Gets or sets the value of the Retry-After header for an HTTP response.
+ Returns .The value of the Retry-After header for an HTTP response.
+
+
+ Gets the value of the Server header for an HTTP response.
+ Returns .The value of the Server header for an HTTP response.
+
+
+ Gets the value of the Trailer header for an HTTP response.
+ Returns .The value of the Trailer header for an HTTP response.
+
+
+ Gets the value of the Transfer-Encoding header for an HTTP response.
+ Returns .The value of the Transfer-Encoding header for an HTTP response.
+
+
+ Gets or sets a value that indicates if the Transfer-Encoding header for an HTTP response contains chunked.
+ Returns .true if the Transfer-Encoding header contains chunked, otherwise false.
+
+
+ Gets the value of the Upgrade header for an HTTP response.
+ Returns .The value of the Upgrade header for an HTTP response.
+
+
+ Gets the value of the Vary header for an HTTP response.
+ Returns .The value of the Vary header for an HTTP response.
+
+
+ Gets the value of the Via header for an HTTP response.
+ Returns .The value of the Via header for an HTTP response.
+
+
+ Gets the value of the Warning header for an HTTP response.
+ Returns .The value of the Warning header for an HTTP response.
+
+
+ Gets the value of the WWW-Authenticate header for an HTTP response.
+ Returns .The value of the WWW-Authenticate header for an HTTP response.
+
+
+ Represents a media-type as defined in the RFC 2616.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a content-type header value with an additional quality.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a name/value pair.
+
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a name/value pair with parameters.
+
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a product header value.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a value which can either be a product or a comment.
+
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a header value which can either be a date/time or an entity-tag value.
+
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents the value of the Range header.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a byte-range header value.
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a header value which can either be a date/time or a timespan value.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a string header value with an optional quality.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a transfer-coding header value.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a transfer-coding header value with optional quality.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents the value of a Via header.
+
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Represents a warning value used by the Warning header.
+
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Returns .
+
+
+
\ No newline at end of file
diff --git a/lib/aspnetwebapi/System.Web.Http.WebHost.dll b/lib/aspnetwebapi/System.Web.Http.WebHost.dll
new file mode 100644
index 000000000..9a88f4f23
Binary files /dev/null and b/lib/aspnetwebapi/System.Web.Http.WebHost.dll differ
diff --git a/lib/aspnetwebapi/System.Web.Http.WebHost.xml b/lib/aspnetwebapi/System.Web.Http.WebHost.xml
new file mode 100644
index 000000000..4e61671a1
--- /dev/null
+++ b/lib/aspnetwebapi/System.Web.Http.WebHost.xml
@@ -0,0 +1,96 @@
+
+
+
+ System.Web.Http.WebHost
+
+
+
+ Provides a global for ASP applications.
+
+
+ Gets the global .
+
+
+ Extension methods for
+
+
+ Maps the specified route template and sets default constraints, and namespaces.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+
+
+ Maps the specified route template and sets default route values, constraints, and namespaces.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for routeTemplate.
+
+
+ A that passes ASP.NET requests into the pipeline and write the result back.
+
+
+ Initializes a new instance of the class.
+ The route data.
+
+
+ Begins the process request.
+ An that contains information about the status of the process.
+ The HTTP context base.
+ The callback.
+ The state.
+
+
+ Provides an asynchronous process End method when the process ends.
+ An that contains information about the status of the process.
+
+
+ Gets a value indicating whether another request can use the instance.
+
+
+ Processes the request.
+ The HTTP context base.
+
+
+ Begins processing the request.
+ An that contains information about the status of the process.
+ The HTTP context.
+ The callback.
+ The state.
+
+
+ Provides an asynchronous process End method when the process ends.
+ An that contains information about the status of the process.
+
+
+ Gets a value indicating whether another request can use the instance.
+
+
+ Processes the request.
+ The HTTP context base.
+
+
+ A that returns instances of that can pass requests to a given instance.
+
+
+ Initializes a new instance of the class.
+
+
+ Provides the object that processes the request.
+ An object that processes the request.
+ An object that encapsulates information about the request.
+
+
+ Gets the singleton instance.
+
+
+ Provides the object that processes the request.
+ An object that processes the request.
+ An object that encapsulates information about the request.
+
+
+
\ No newline at end of file
diff --git a/lib/aspnetwebapi/System.Web.Http.dll b/lib/aspnetwebapi/System.Web.Http.dll
new file mode 100644
index 000000000..25788027e
Binary files /dev/null and b/lib/aspnetwebapi/System.Web.Http.dll differ
diff --git a/lib/aspnetwebapi/System.Web.Http.xml b/lib/aspnetwebapi/System.Web.Http.xml
new file mode 100644
index 000000000..2160152c0
--- /dev/null
+++ b/lib/aspnetwebapi/System.Web.Http.xml
@@ -0,0 +1,2015 @@
+
+
+
+ System.Web.Http
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Actions and controllers marked with this attribute are skipped by during authorization.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the <see name="HttpConfiguration" /> of the current ApiController. The setter is not intended to be used other than for unit testing purpose.
+
+
+
+
+
+
+ Gets model state after the model binding process. This ModelState will be empty before model binding happens. Please do not populate this property other than for unit testing purpose.
+
+
+ Gets the <see name="HttpRequestMessage" /> of the current ApiController. The setter is not intended to be used other than for unit testing purpose.
+
+
+ An authorization filter that verifies the request's .
+
+
+ Initializes a new instance of the class.
+
+
+ Processes requests that fail authorization. This default implementation creates a new response with the Unauthorized status code. Override this method to provide your own handling for unauthorized requests.
+ The context.
+
+
+ Called when an action is being authorized. This method uses the user returned via . Authorization is denied if - the request is not associated with any user. - the user is not authenticated, - the user is authenticated but is not in the authorized group of (if defined), or if the user is not in any of the authorized (if defined). If authorization is denied then this method will invoke to process the unauthorized request.
+ The context.
+ The context parameter is null.
+
+
+ Gets or sets the authorized roles.
+ The roles string.
+
+
+ Gets a unique identifier for this .
+
+
+ Gets or sets the authorized users.
+ The users string.
+
+
+ This provides a centralized list of type-safe accessors describing where and how we use the dependency resolver.
+
+
+
+
+
+
+
+
+ Controller activator is used to instantiate an .
+ An instance or null if none are registered.
+
+
+ Get a controller factory, which instantiates a string name into an . This may be implemented by first getting the from the controller name, and then using a .
+
+
+ Gets a service.
+ An instance or null if none found.
+
+
+
+
+
+
+ Get ValueProviderFactories. The order of returned providers is the priority order that we search the factories.
+
+
+ Extension methods for <see cref="T:System.Collections.Generic.IDictionary`2" />.
+
+
+ Gets the value of <typeparamref name="T" /> associated with the specified key or throw an if either the key is not present or the value is not of type <typeparamref name="T" />.
+ The <see cref="T:System.Collections.Generic.IDictionary`2" /> instance where TValue is object.
+ The key whose value to get.
+
+
+
+ Gets the value of <typeparamref name="T" /> associated with the specified key or default value if either the key is not present or the value is not of type <typeparamref name="T" />.
+ true if key was found, value is non-null, and value is of type <typeparamref name="T" />; otherwise false.
+ The <see cref="T:System.Collections.Generic.IDictionary`2" /> instance where TValue is object.
+ The key whose value to get.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter.
+ The type of the value associated with the specified key.
+
+
+ This attribute is used on action parameters to indicate they come only from the content body of the incoming .
+
+
+ Initializes a new instance of the class.
+
+
+ This attribute is used on action parameters to indicate they come only from the of the incoming .
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Configuration of instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The to associate with this instance.
+
+
+
+
+ Gets the list of global filters.
+
+
+ Gets the media type formatters.
+
+
+ Gets or sets a value indicating whether error details should be included in error messages.
+
+
+ Gets an ordered list of instances to be invoked as an travels up the stack and an travels down in stack in return. The handlers are invoked in a bottom-up fashion in the incoming path and top-down in the outgoing path. That is, the last entry is called first for an incoming request message but invoked last for an outgoing response message.
+ The message handler collection.
+
+
+ Gets the properties associated with this instance.
+
+
+ Gets the associated with this instance.
+
+
+
+
+
+ Gets the used to resolve services to use by this .
+
+
+
+
+
+ Gets the root virtual path. The property always returns "/" as the first character of the returned value.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Provides extension methods for the class.
+
+
+ Gets the for the given request.
+ The .
+ The HTTP request.
+
+
+ Gets the for the given request or null if not available.
+ The or null.
+ The HTTP request.
+
+
+ Gets the for the given request or null if not available.
+ The or null.
+ The HTTP request.
+
+
+ Gets the for the given request or null if not available.
+ The or null.
+ The HTTP request.
+
+
+ An exception that allows for a given to be returned to the client.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The response message.
+
+
+ Initializes a new instance of the class.
+ The status code to use with the .
+
+
+ Initializes a new instance of the class.
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of the current exception, or a null reference if no inner exception is specified.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The status code to use with the .
+
+
+ Gets the to return to the client.
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class with a value of "/".
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+ Gets {insert text here}.
+
+
+ Extension methods for
+
+
+ Maps the specified route template and sets default constraints.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+
+
+ Maps the specified route template and sets default route values and constraints.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for routeTemplate.
+
+
+ Defines an implementation of an which dispatches an incoming and creates an as a result.
+
+
+ Initializes a new instance of the class with default configuration and dispatcher.
+
+
+ Initializes a new instance of the class with default dispatcher.
+ Http dispatcher responsible for handling incoming requests.
+
+
+ Initializes a new instance of the class with default dispatcher.
+ The used to configure this instance.
+
+
+ Initializes a new instance of the class.
+ The used to configure this instance.
+ Http dispatcher responsible for handling incoming requests.
+
+
+ Gets the .
+
+
+ Gets the dispatcher.
+
+
+ Releases unmanaged and - optionally - managed resources
+ true to release both managed and unmanaged resources; false to release only unmanaged SRResources.
+
+
+
+
+ Enum to indicate whether error details, such as exception messages and stack traces, should be included in error messages.
+
+
+ Only include error details when responding to a local request.
+
+
+ Always include error details.
+
+
+ Never include error details.
+
+
+
+ Initializes a new instance of the class.
+
+
+ This result filter indicates that the results returned from an action should be limited to the specified ResultLimit.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Reflection based action selector. We optimize for the case where we have an instance per instance but can support cases where there are many instances for one as well. In the latter case the lookup is slightly slower because it goes through the dictionary.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Contains information for the executing action.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Extension methods for .
+
+
+ Gets the for this .
+ The .
+ The execution context.
+ The binding context.
+
+
+ Gets the instance for a given .
+ An instance.
+ The context.
+
+
+ Gets the collection of registered instances.
+ A collection of instances.
+ The context.
+
+
+ Gets the collection of registered instances.
+ A collection of registered instances.
+ The context.
+ The metadata.
+
+
+ Gets the for this .
+ true if was present; otherwise false.
+ The action context.
+ The binding context.
+ When this method returns, the value associated with the specified binding context, if the context is found; otherwise, the default value for the type of the value parameter.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Executes the described action.
+ The return value of the action.
+ The context.
+ The arguments.
+
+
+
+
+
+ Returns the filters for the given configuration and action. The filter collection is ordered according to the FilterScope (in order from least specific to most specific: First, Global, Controller, Action). If a given filter disallows duplicates (AllowMultiple=False) then the most specific filter is maintained and less specific filters get removed (e.g. if there is a Authorize filter with a Controller scope and another one with an Action scope then the one with the Action scope will be maintained and the one with the Controller scope will be discarded).
+ A <see cref="T:System.Collections.ObjectModel.Collection`1" /> of all filters associated with this .
+
+
+
+
+ Gets the properties associated with this instance.
+
+
+ Gets {insert text here}.
+
+
+ Provides a mechanism for a implementation to indicate what kind of , , and to use for that controller. The types are first looked up in the and if not found there then created directly.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Contains information for a single HTTP operation.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets the HTTP controller.
+ The HTTP controller.
+
+
+ Gets or sets the controller descriptor.
+ The controller descriptor.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets the properties associated with this instance.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets the properties associated with this instance.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Default implementation of an . A different implementation can be registered via the . We optimize for the case where we have an instance per instance but can support cases where there are many instances for one as well. In the latter case the lookup is slightly slower because it goes through the dictionary.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates the specified by controllerType using the given controllerContext
+ An instance of type controllerType.
+ The controller context.
+ Type of the controller.
+
+
+ Default instance creating new instances. A different implementation can be registered via the .
+
+
+ Initializes a new instance of the class.
+ The configuration.
+
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Dispatches an incoming to an implementation for processing.
+
+
+ Initializes a new instance of the class using default .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the .
+
+
+ Releases unmanaged and - optionally - managed resources
+ true to release both managed and unmanaged resources; false to release only unmanaged SRResources.
+
+
+
+ Provides an abstraction for managing the compilation of an application. A different implementation can be registered via the .
+
+
+ Creates a cached file.
+ The object for the new file.
+ Name of the file.
+
+
+ Gets an object factory for the specified virtual path.
+ true if file exists; otherwise false.
+ The virtual path.
+
+
+ Compiles a file, given its virtual path, and returns the compiled type.
+ The compiled .
+ The virtual path.
+
+
+ Returns a list of assembly references that all page compilations must reference.
+ An of assembly references.
+
+
+ Reads a cached file.
+ The object for the file, or null if the file does not exist.
+ Name of the file.
+
+
+ Defines the methods that are required for an .
+
+
+
+ Defines the methods that are required for an factory.
+
+
+ Creates the using the specified context and controller name.
+ An instance.
+ The controller context.
+ Name of the controller.
+
+
+ Releases an instance.
+ The controller.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+
+
+
+
+ Gets {insert text here}.
+
+
+
+
+ Provides common keys for properties stored in the
+
+
+ Provides a key for the associated with this request.
+
+
+ Provides a key for the associated with this request.
+
+
+ Provides a key for the current stored in . If is null then no context is stored.
+
+
+ Provides a key for the current stored in .
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ This class associates a with its corresponding and necessary to perform model binding.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+ Asks how the request content should be read for the given .
+ A value indicating how the request content body should be read.
+ The for the action to be invoked.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Sets the type of the model binder. This type must be either a subclass of or any type with a parameterless constructor that implements /
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+ Gets {insert text here}.
+
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+ Gets {insert text here}.
+
+
+ Enum to indicate how the request body content should be (or was) read.
+
+
+ Do not read the request content.
+
+
+ Read the request content as key/value pairs.
+
+
+ Read the request content as a single object of a specific type.
+
+
+ Read the request content as key/value pairs if the formatter supports it, otherwise read as a single object.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ This class provides an that can bind to
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ This class is an that delegates to one of a collection of instances.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ This class is an that validates the current model instance in the . It is meant to be used for model validation whenever the normal name/value model validation is not available.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Route class for self-host (i.e. hosted outside of ASP.NET). This class is mostly the same as the System.Web.Routing.Route implementation. This class has the same URL matching functionality as System.Web.Routing.Route. However, in order for this route to match when generating URLs, a special "httproute" key must be specified when generating the URL.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Attempt to generate a URI that represents the values passed in based on current values from the and new values using the specified .
+ A instance or null if URI cannot be generated.
+ The HTTP execution context.
+ The route values.
+
+
+
+ Gets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ defines the interface for a route expressing how to map an incoming to a particular controller and action.
+
+
+ Gets the constraints for the route parameters.
+
+
+ Gets any additional data tokens not used directly to determine whether a route matches an incoming .
+
+
+ Gets the default values for route parameters if not provided by the incoming .
+
+
+ Determine whether this route is a match for the incoming request by looking up the <see cref="!:IRouteData" /> for the route.
+ The <see cref="!:RouteData" /> for a route if matches; otherwise null.
+ The virtual path root.
+ The request.
+
+
+ Compute a URI based on the route and the values provided.
+ The controller context.
+ The values.
+
+
+ Gets the route template describing the URI pattern to match against.
+
+
+
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Gets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+
+
+ Try to get a service of the given type.
+ an instance of the service, or null if the service is not found
+ Type of service to request.
+
+
+ Try to get a list of services of the given type.
+ an enumeration (possibly empty) of the service. Return an empty enumeration is the service is not found (don't return null)
+ Type of services to request.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Gets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets or sets {insert text here}.
+
+
+
+ An implementation of which providers validators for attributes which derive from . It also provides a validator for types which implement . To support client side validation, you can either register adapters through the static methods on this class, or by having your validation attributes implement . The logic to support IClientValidatable is implemented in .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+
+
+
+ Registers the default adapter type for objects which implement . The adapter type must derive from and it must contain a public constructor which takes two parameters of types and .
+
+
+ Registers the default adapter factory for objects which implement .
+
+
+ Registers an adapter type for the given modelType, which must implement . The adapter type must derive from and it must contain a public constructor which takes two parameters of types and .
+
+
+ Registers an adapter factory for the given modelType, which must implement .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets {insert text here}.
+
+
+
+ Gets {insert text here}.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+ This attribute is used optionally to assign a prefix to an action parameter to be used during model binding.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the name to consider as the parameter name during model binding
+
+
+ This attribute is used to specify a custom .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the type of the .
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets {insert text here}.
+
+
+
+
+ Gets or sets {insert text here}.
+
+
+ Gets or sets {insert text here}.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ This class provides a facade over a instance.
+
+
+ Creates a new instance of the class.
+ The inner to use. It may be null.
+ The culture to use. It cannot be null.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
\ No newline at end of file
diff --git a/src/Orchard/Environment/OrchardStarter.cs b/src/Orchard/Environment/OrchardStarter.cs
index 7dd5c4664..21d1166c5 100644
--- a/src/Orchard/Environment/OrchardStarter.cs
+++ b/src/Orchard/Environment/OrchardStarter.cs
@@ -3,6 +3,8 @@ using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Web.Hosting;
+using System.Web.Http;
+using System.Web.Http.Dispatcher;
using System.Web.Mvc;
using Autofac;
using Autofac.Configuration;
@@ -28,6 +30,7 @@ using Orchard.Mvc.DataAnnotations;
using Orchard.Mvc.ViewEngines.Razor;
using Orchard.Mvc.ViewEngines.ThemeAwareness;
using Orchard.Services;
+using Orchard.WebApi;
namespace Orchard.Environment {
public static class OrchardStarter {
@@ -141,6 +144,11 @@ namespace Orchard.Environment {
}
ControllerBuilder.Current.SetControllerFactory(new OrchardControllerFactory());
+
+ GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector), new DefaultOrchardWebApiHttpControllerSelector(GlobalConfiguration.Configuration));
+ GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new DefaultOrchardWebApiHttpHttpControllerActivator(GlobalConfiguration.Configuration));
+ GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
+
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new ThemeAwareViewEngineShim());
diff --git a/src/Orchard/Environment/ShellBuilders/CompositionStrategy.cs b/src/Orchard/Environment/ShellBuilders/CompositionStrategy.cs
index 359baf8ee..b6f5d88e5 100644
--- a/src/Orchard/Environment/ShellBuilders/CompositionStrategy.cs
+++ b/src/Orchard/Environment/ShellBuilders/CompositionStrategy.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using System.Web.Http.Controllers;
using System.Web.Mvc;
using Autofac.Core;
using Orchard.ContentManagement;
@@ -50,6 +51,7 @@ namespace Orchard.Environment.ShellBuilders {
var modules = BuildBlueprint(features, IsModule, BuildModule, excludedTypes);
var dependencies = BuildBlueprint(features, IsDependency, (t, f) => BuildDependency(t, f, descriptor), excludedTypes);
var controllers = BuildBlueprint(features, IsController, BuildController, excludedTypes);
+ var httpControllers = BuildBlueprint(features, IsHttpController, BuildController, excludedTypes);
var records = BuildBlueprint(features, IsRecord, (t, f) => BuildRecord(t, f, settings), excludedTypes);
var result = new ShellBlueprint {
@@ -134,6 +136,10 @@ namespace Orchard.Environment.ShellBuilders {
return typeof(IController).IsAssignableFrom(type);
}
+ private static bool IsHttpController(Type type) {
+ return typeof(IHttpController).IsAssignableFrom(type);
+ }
+
private static ControllerBlueprint BuildController(Type type, Feature feature) {
var areaName = feature.Descriptor.Extension.Id;
diff --git a/src/Orchard/Environment/ShellBuilders/Models/ShellBlueprint.cs b/src/Orchard/Environment/ShellBuilders/Models/ShellBlueprint.cs
index 978ff23f2..d46dfbb6b 100644
--- a/src/Orchard/Environment/ShellBuilders/Models/ShellBlueprint.cs
+++ b/src/Orchard/Environment/ShellBuilders/Models/ShellBlueprint.cs
@@ -17,6 +17,7 @@ namespace Orchard.Environment.ShellBuilders.Models {
public IEnumerable Dependencies { get; set; }
public IEnumerable Controllers { get; set; }
+ public IEnumerable HttpControllers { get; set; }
public IEnumerable Records { get; set; }
}
diff --git a/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs b/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs
index 98765be1c..786c8d269 100644
--- a/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs
+++ b/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs
@@ -2,6 +2,7 @@
using System.IO;
using System.Linq;
using System.Web.Hosting;
+using System.Web.Http.Controllers;
using System.Web.Mvc;
using Autofac;
using Autofac.Builder;
@@ -106,6 +107,17 @@ namespace Orchard.Environment.ShellBuilders {
});
}
+ foreach (var item in blueprint.HttpControllers) {
+ var serviceKeyName = (item.AreaName + "/" + item.ControllerName).ToLowerInvariant();
+ var serviceKeyType = item.Type;
+ RegisterType(builder, item)
+ .EnableDynamicProxy(dynamicProxyContext)
+ .Keyed(serviceKeyName)
+ .Keyed(serviceKeyType)
+ .WithMetadata("ControllerType", item.Type)
+ .InstancePerDependency();
+ }
+
// Register code-only registrations specific to a shell
_shellContainerRegistrations.Registrations(builder);
diff --git a/src/Orchard/Mvc/Routes/ShellRoute.cs b/src/Orchard/Mvc/Routes/ShellRoute.cs
index 4ae3da746..de3ddbf50 100644
--- a/src/Orchard/Mvc/Routes/ShellRoute.cs
+++ b/src/Orchard/Mvc/Routes/ShellRoute.cs
@@ -49,6 +49,7 @@ namespace Orchard.Mvc.Routes {
// otherwise wrap handler and return it
routeData.RouteHandler = new RouteHandler(_workContextAccessor, routeData.RouteHandler);
+ routeData.Values["IWorkContextAccessor"] = _workContextAccessor; //NGM : Added for WebApi
routeData.DataTokens["IWorkContextAccessor"] = _workContextAccessor;
return routeData;
}
diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj
index d90983582..915b896a4 100644
--- a/src/Orchard/Orchard.Framework.csproj
+++ b/src/Orchard/Orchard.Framework.csproj
@@ -105,6 +105,9 @@
3.5
+
+ ..\..\lib\aspnetwebapi\System.Net.Http.dll
+ 3.0
@@ -113,6 +116,12 @@
+
+ ..\..\lib\aspnetwebapi\System.Web.Http.dll
+
+
+ ..\..\lib\aspnetwebapi\System.Web.Http.WebHost.dll
+ False..\..\lib\aspnetmvc\System.Web.Mvc.dll
@@ -536,6 +545,11 @@
+
+
+
+
+
diff --git a/src/Orchard/WebApi/AutofacWebApiDependencyResolver.cs b/src/Orchard/WebApi/AutofacWebApiDependencyResolver.cs
new file mode 100644
index 000000000..cc3e6fcc9
--- /dev/null
+++ b/src/Orchard/WebApi/AutofacWebApiDependencyResolver.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Web.Http.Dependencies;
+using Autofac;
+
+namespace Orchard.WebApi {
+ public class AutofacWebApiDependencyResolver : IDependencyResolver {
+ readonly ILifetimeScope _container;
+ readonly IDependencyScope _rootDependencyScope;
+
+ //internal static readonly string ApiRequestTag = "AutofacWebRequest";
+
+ public AutofacWebApiDependencyResolver(ILifetimeScope container) {
+ if (container == null) throw new ArgumentNullException("container");
+
+ _container = container;
+ _rootDependencyScope = new AutofacWebApiDependencyScope(container);
+ }
+
+ public ILifetimeScope Container {
+ get { return _container; }
+ }
+
+ public object GetService(Type serviceType) {
+ return _rootDependencyScope.GetService(serviceType);
+ }
+
+ public IEnumerable