Share via


IHttpFilter.SendRequestAsync(HttpRequestMessage) Method

Definition

Send an HTTP request on the IHttpFilter instance as an asynchronous operation.

public:
 IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request);
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request);
function sendRequestAsync(request)
Public Function SendRequestAsync (request As HttpRequestMessage) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)

Parameters

request
HttpRequestMessage

The HTTP request message to send.

Returns

The object representing the asynchronous operation.

Attributes

Remarks

Custom filters are implemented in the SendRequestAsync method on their IHttpFilter interface.

Classes in the Windows.Web.Http namespace support the use of filters based on the classes in the Windows.Web.Http.Filters namespace. The HttpClient class in the Windows.Web.Http namespace provides a base class for sending HTTP requests and receiving HTTP responses. Filters provide a handler mechanism to help with common HTTP service issues. Simple filters can be chained together in a sequence to handle more complex HTTP service issues.

An HTTP filter is a black box which takes an HTTP request message and produces an HTTP response message. How the filter gets an HTTP response is determined by the filter developer. An app can create the response immediately, it can send the request over TCP to a server, it can even send multiple requests to a server (or to more than one server) before it generates a response message. Since it is unspecified how a filter gets to a response message, a filter can pass the request message to another filter (called the inner filter), thus delegating the creation of a response message to the inner filter.

Filters commonly add or change headers, handle authorization (possibly using the WebAuthenticationBroker), or allow or disallow a request based on network conditions. Filters usually make changes and then pass the request to an inner filter, which is typically set when a filter is constructed.

This approach allows filters to be only responsible for a specific aspect of an HTTP request execution and delegate other aspects to other filters. A filter can implement caching, authentication, redirects, cookies, actual communication with the server, or a combination of these. The bottom-most (base) filter will usually be the one that does actual communication with the network.

Below are some exceptions that this function throws.

E_INVALIDARG

The request parameter was a null reference (Nothing in Visual Basic).

E_ILLEGAL_METHOD_CALL

The request message was already sent by the IHttpFilter instance.

Applies to