Beispiel #1
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            // Write out request content to console
            if (request.Content != null)
            {
                await request.Content.LoadIntoBufferAsync();
            }
            var requestContent = new HttpMessageContent(request);

            Console.WriteLine(await requestContent.ReadAsStringAsync());

            var stopWatch = new Stopwatch();

            stopWatch.Start();

            var response = await base.SendAsync(request, cancellationToken);

            stopWatch.Stop();

            // Write out response content to console
            if (response.Content != null)
            {
                await response.Content.LoadIntoBufferAsync();
            }
            var responseContent = new HttpMessageContent(response);

            Console.WriteLine(await responseContent.ReadAsStringAsync());

            Console.WriteLine("");
            Console.WriteLine("Roundtrip (ms): " + stopWatch.ElapsedMilliseconds);
            Console.WriteLine("");

            return(response);
        }
Beispiel #2
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken token)
        {
            HttpMessageContent requestContent = new HttpMessageContent(request);
            string             requestMessage = requestContent.ReadAsStringAsync().Result;

            return(await base.SendAsync(request, token));
        }
Beispiel #3
0
        public static async Task <string> ShowAsync(this HttpResponseMessage message, int?contentLimit)
        {
            var content = await message.Content.ReadAsStringAsync();

            if (contentLimit.HasValue && content.Length > contentLimit)
            {
                message.Content = new StringContent(content.Substring(0, contentLimit.Value) + "<<<content truncated>>>");
            }

            var messageContent = new HttpMessageContent(message);

            return(await messageContent.ReadAsStringAsync());
        }
Beispiel #4
0
        public async Task HttpHeader_TryAddWithoutValidation_does_not_validates_the_value_but_preserves_it()
        {
            var request = new HttpRequestMessage(HttpMethod.Get, "http://some.uri");

            Assert.True(request.Headers.TryAddWithoutValidation("Date", "invalid-date"));
            Assert.Equal(null, request.Headers.Date);
            Assert.Equal("invalid-date", request.Headers.First(h => h.Key == "Date").Value.First());

            var content = new HttpMessageContent(request);
            var s       = await content.ReadAsStringAsync();

            Assert.True(s.Contains("Date: invalid-date"));
        }
Beispiel #5
0
        TryAddWithoutValidation_doesnt_validates_the_value_but_preserves_it()
        {
            var request = new HttpRequestMessage();

            Assert.True(request.Headers
                        .TryAddWithoutValidation("Date", "invalid-date"));
            Assert.Equal(null, request.Headers.Date);
            Assert.Equal("invalid-date", request.Headers.GetValues("Date").First());

            var content = new HttpMessageContent(request);
            var s       = await content.ReadAsStringAsync();

            Assert.True(s.Contains("Date: invalid-date"));
        }
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            HttpMessageContent requestContent = new HttpMessageContent(request);
            string             requestMessage = await requestContent.ReadAsStringAsync();

            var response = await base.SendAsync(request, cancellationToken);

            HttpMessageContent responseContent = new HttpMessageContent(response);
            string             responseMessage = await responseContent.ReadAsStringAsync();

            GlobalConfiguration.Configuration.Services.GetTraceWriter().Trace(request, "System.Web.Http.MessageHandlers", System.Web.Http.Tracing.TraceLevel.Info,
                                                                              (t) =>
            {
                t.Message = String.Format("\n{0}\n{1}\n", requestMessage, responseMessage);
            });
            return(response);
        }
Beispiel #7
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            HttpMessageContent requestContent = new HttpMessageContent(request);
            string             requestMessage = requestContent.ReadAsStringAsync().Result;

            var response = await base.SendAsync(request, cancellationToken);

            HttpMessageContent responseContent = new HttpMessageContent(response);
            string             responseMessage = responseContent.ReadAsStringAsync().Result;

            GlobalConfiguration.Configuration.Services.GetTraceWriter()
            .Trace(request, "MyCategory", System.Web.Http.Tracing.TraceLevel.Info,
                   (t) =>
            {
                t.Operation = request.Method.Method;
                t.Operator  = Thread.CurrentPrincipal.Identity.Name;
                t.Message   = requestMessage + Environment.NewLine + responseMessage;
            });


            return(response);
        }
Beispiel #8
0
        public static async Task <string> ShowAsync(this HttpRequestMessage message)
        {
            var content = new HttpMessageContent(message);

            return(await content.ReadAsStringAsync());
        }