/// <summary> /// Initializes a new instance of the <see cref="WebServiceResponse"/> class. /// </summary> /// <param name="request">The <see cref="WebServiceRequest"/>.</param> /// <param name="statusCode">The status code.</param> /// <param name="headers">The headers.</param> /// <param name="content">The content.</param> public WebServiceResponse(WebServiceRequest request, HttpStatusCode statusCode, HttpHeaders headers, HttpContent content) { // store just the values we need (not the whole request object), so that we don't keep large objects (request.Content) alive longer than necessary m_requestUri = request.RequestUri; m_requestMethod = request.Method; m_statusCode = statusCode; m_headers = headers; m_content = content; }
/// <summary> /// Adds to the Handlers of the WebServiceRequest. /// </summary> /// <typeparam name="TWebServiceResponse">The type of the web service response.</typeparam> /// <param name="request">The request.</param> /// <param name="handler">The handler.</param> /// <returns>The request.</returns> public static WebServiceRequest <TWebServiceResponse> WithHandler <TWebServiceResponse>(this WebServiceRequest <TWebServiceResponse> request, Func <WebServiceResponseHandlerInfo <TWebServiceResponse>, Task <bool> > handler) { request.Handlers.Add(handler); return(request); }