示例#1
0
        /// <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));
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }