protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
            CancellationToken cancellationToken)
        {
            
//            var messageId = Guid.NewGuid();
            var runscopeRequest = new RunscopeRequest(request);  // Preread to ensure non-rewindable stream is not consumed by app

            //var runscopeMessage = new RunscopeMessage()
            //{
            //    UniqueIdentifier = messageId,
            //    Request = runscopeRequest
            //};

//            HandleFailedMessageLog(_RunscopeClient.SendAsync(messagesLink.Update(_bucketKey, runscopeMessage).CreateRequest()));

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

            if (_filter == null || _filter(request, response))
            {
                
                var runscopeMessage2 = new RunscopeMessage()
                {
//                UniqueIdentifier = messageId,
                    Request = runscopeRequest,
                    Response = new RunscopeResponse(response)
                };

                var messagesLink = new MessagesLink();
                HandleFailedMessageLog(
                    _RunscopeClient.SendAsync(messagesLink.Update(_bucketKey, runscopeMessage2).CreateRequest()));
            }
            return response;
        }
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request,
                                                                      CancellationToken cancellationToken)
        {
//            var messageId = Guid.NewGuid();
            var runscopeRequest = new RunscopeRequest(request);  // Preread to ensure non-rewindable stream is not consumed by app

            //var runscopeMessage = new RunscopeMessage()
            //{
            //    UniqueIdentifier = messageId,
            //    Request = runscopeRequest
            //};

//            HandleFailedMessageLog(_RunscopeClient.SendAsync(messagesLink.Update(_bucketKey, runscopeMessage).CreateRequest()));

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

            if (_filter == null || _filter(request, response))
            {
                var runscopeMessage2 = new RunscopeMessage()
                {
//                UniqueIdentifier = messageId,
                    Request  = runscopeRequest,
                    Response = new RunscopeResponse(response)
                };

                var messagesLink = new MessagesLink();
                HandleFailedMessageLog(
                    _RunscopeClient.SendAsync(messagesLink.Update(_bucketKey, runscopeMessage2).CreateRequest()));
            }
            return(response);
        }
Exemplo n.º 3
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request,
                                                                      CancellationToken cancellationToken)
        {
            var runscopeRequest = new RunscopeRequest(request);  // Preread to ensure non-rewindable stream is not consumed by app

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

            string bucket = _bucketKey;

            if (_bucketFilter != null)
            {
                bucket = _bucketFilter(request, response);
            }

            if (string.IsNullOrWhiteSpace(bucket))
            {
                return(response);
            }

            if (_filter == null || _filter(request, response))
            {
                var runscopeMessage = new RunscopeMessage()
                {
                    Request  = runscopeRequest,
                    Response = new RunscopeResponse(response)
                };

                var messagesLink = new MessagesLink();
                HandleFailedMessageLog(
                    _RunscopeClient.SendAsync(messagesLink.Update(bucket, runscopeMessage).CreateRequest()));
            }
            return(response);
        }
 public void CreatePOSTRequest()
 {
     var link = new MessagesLink();
     var request = link.BuildPOSTRequest("foo",
         new HttpRequestMessage() {RequestUri = new Uri("http://example.org")},
         new HttpResponseMessage());
     var result = request.Content.ReadAsStringAsync().Result;
 }
        public async Task CreatePOSTRequest()
        {

            var runscopeMessage = new RunscopeMessage()
                {
                    Request = await RunscopeRequest.CreateFromAsync(new HttpRequestMessage() { RequestUri = new Uri("/foo", UriKind.Relative) }),
                    Response = await RunscopeResponse.CreateFromAsync(new HttpResponseMessage())
                };
            

            var messagesLink = new MessagesLink
            {
                BucketKey = "blah",
                RunscopeMessage = runscopeMessage,
                Method = HttpMethod.Post
            };
            var messageRequest = messagesLink.CreateRequest();

            Assert.NotNull(messageRequest);

        }
        public void CreateMessageLink()
        {
            var link = new MessagesLink();

            Assert.NotNull(link);
        }
Exemplo n.º 7
0
        private async Task SendRequests()
        {

            Session session = _hostAdapter.SelectedSession;
            
            var srequest = FiddlerMessageBuilder.CreateRequestFromSession(session);
            var sresponse = FiddlerMessageBuilder.CreateResponseFromSession(session);
            
            // CreateMessage
            var messagesLink = new MessagesLink();
            var request = messagesLink.BuildPOSTRequest(_runscopeSettings.Bucket, srequest,sresponse); //es3pfvznehtn
            var response = await _Client.SendAsync(request);
            if (response.IsSuccessStatusCode)
            {
                var messageId = await messagesLink.ParseNewMessageId(response);

                // Share Message
                var sharedMessageLink = new SharedMessageLink();
                var shareRequest = sharedMessageLink.BuildPUTRequest(_runscopeSettings.Bucket, messageId);
                   
                var shareResponse = await _Client.SendAsync(shareRequest);
                var publicurl = await sharedMessageLink.ParsePublicUri(shareResponse);
                if (publicurl != null)
                {
                    Process.Start(publicurl.AbsoluteUri);
                }
            }
        }