/// <summary> /// Builds an HttpResponse out of the given underlying response /// </summary> /// <param name="underlyingResponse">The underlying HttpWebResponse to copy values from</param> /// <returns>An HttpResponse based on the given underlying response</returns> private HttpResponseData BuildResponse(HttpWebResponse underlyingResponse) { ExceptionUtilities.CheckArgumentNotNull(underlyingResponse, "underlyingResponse"); using (Stream underlyingStream = underlyingResponse.GetResponseStream()) { return(HttpResponseBuilder.BuildResponse( underlyingResponse.StatusCode, underlyingResponse.Headers.AllKeys.ToDictionary(k => k, k => underlyingResponse.Headers[k]), underlyingStream)); } }
public void BuildResponseOkTest() { var request = new HttpRequestMessage(); request.SetConfiguration(new HttpConfiguration()); var serviceResponse = new FakeServiceResponse { Result = true }; var builder = new HttpResponseBuilder(); var response = builder.BuildResponse(request, serviceResponse); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual("true", response.Content.ReadAsStringAsync().Result); }
public void BuildResponseEntityInvalidTest() { var request = new HttpRequestMessage(); request.SetConfiguration(new HttpConfiguration()); var serviceResponse = new FakeServiceResponse { Result = false, Exception = new ValidationException("test") }; var builder = new HttpResponseBuilder(); var response = builder.BuildResponse(request, serviceResponse); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual("test", response.Content.ReadAsStringAsync().Result); }