Beispiel #1
0
        private async Task ProcessAsyncInternalAsync(HttpMessage message, bool async)
        {
            try
            {
                RedirectToTestProxy(message);
                if (async)
                {
                    await _innerTransport.ProcessAsync(message);
                }
                else
                {
                    _innerTransport.Process(message);
                }

                await ProcessResponseAsync(message, true);
            }
            finally
            {
                // revert the original URI - this is important for tests that rely on aspects of the URI in the pipeline
                // e.g. KeyVault caches tokens based on URI
                message.Request.Headers.TryGetValue("x-recording-upstream-base-uri", out string original);

                var originalBaseUri = new Uri(original);
                message.Request.Uri.Scheme = originalBaseUri.Scheme;
                message.Request.Uri.Host   = originalBaseUri.Host;
                message.Request.Uri.Port   = originalBaseUri.Port;

                if (_isWebRequestTransport)
                {
                    ServicePointManager.ServerCertificateValidationCallback -= ServerCertificateCustomValidationCallback;
                }
            }
        }
        public void DisableRequestBodyRecordingMakesRequestBodyNull()
        {
            var                   tempFile  = Path.GetTempFileName();
            TestRecording         recording = new TestRecording(RecordedTestMode.Record, tempFile, new TestSanitizer(), new RecordMatcher());
            HttpPipelineTransport transport = recording.CreateTransport(Mock.Of <HttpPipelineTransport>());

            var body = "A nice and long body.";

            var request = new MockRequest();

            request.Content = RequestContent.Create(Encoding.UTF8.GetBytes(body));
            request.Headers.Add("Content-Type", "text/json");

            HttpMessage message = new HttpMessage(request, null);

            message.Response = new MockResponse(200);

            using (recording.DisableRequestBodyRecording())
            {
                transport.Process(message);
            }

            recording.Dispose(true);
            var text = File.ReadAllText(tempFile);

            StringAssert.DoesNotContain(body, text);
            StringAssert.Contains($"\"RequestBody\": null", text);
        }
Beispiel #3
0
        protected async Task <Response> ExecuteRequest(Request request, HttpPipelineTransport transport)
        {
            var message = new HttpMessage(request, new ResponseClassifier());

            if (_isAsync)
            {
                await transport.ProcessAsync(message);
            }
            else
            {
                transport.Process(message);
            }
            return(message.Response);
        }
Beispiel #4
0
        protected async Task <Response> ExecuteRequest(Request request, HttpPipelineTransport transport, CancellationToken cancellationToken = default)
        {
            var message = new HttpMessage(request, ResponseClassifier.Shared);

            message.CancellationToken = cancellationToken;
            if (_isAsync)
            {
                await transport.ProcessAsync(message);
            }
            else
            {
                transport.Process(message);
            }
            return(message.Response);
        }
Beispiel #5
0
 public override void Process(HttpMessage message)
 {
     RedirectToFaultInjector(message);
     _transport.Process(message);
 }
 public override void Process(HttpPipelineMessage message)
 {
     _innerTransport.Process(message);
     Record(message);
 }
Beispiel #7
0
 public override void Process(HttpMessage message)
 {
     RedirectToTestProxy(message);
     _transport.Process(message);
 }
Beispiel #8
0
 public override void Process(HttpPipelineMessage message)
 {
     _innerTransport.Process(message);
     _session.Record(CreateEntry(message.Request, message.Response));
 }
 public override void Process(HttpMessage message)
 {
     ChangeUri(message);
     _transport.Process(message);
 }
Beispiel #10
0
 public override void Process(HttpMessage message)
 {
     RedirectToTestProxy(message);
     _innerTransport.Process(message);
     ProcessResponseAsync(message, false).EnsureCompleted();
 }
 public override void Process(HttpMessage message)
 {
     Start();
     Redirect(message.Request);
     _transport.Process(message);
 }