/// <inheritdoc /> public async Task <FluentHttpResponse <T> > SendAsync <T>(FluentHttpRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var response = await _middlewareRunner.Run(request, async() => { var result = await RawHttpClient.SendAsync(request.Message, request.CancellationToken) .ConfigureAwait(false); return(ToFluentResponse(result, request.Items)); }).ConfigureAwait(false); if (HasSuccessStatusOrThrow && !request.HasSuccessStatusOrThrow.HasValue) { response.EnsureSuccessStatusCode(); } if (request.HasSuccessStatusOrThrow.HasValue && request.HasSuccessStatusOrThrow.Value) { response.EnsureSuccessStatusCode(); } if (!response.IsSuccessStatusCode) { return(new FluentHttpResponse <T>(response)); } return(new FluentHttpResponse <T>(response) { Data = await response.As <T>() }); }
public async Task <FluentHttpResponse> Send(HttpRequestMessage request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var response = await RawHttpClient.SendAsync(request); return(response.ToFluentHttpResponse()); }
public async Task <FluentHttpResponse> Send(HttpRequestMessage request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var requestId = request.AddRequestId(); await RawHttpClient.SendAsync(request); var executionContext = _requestTracker.Pop(requestId); return(executionContext.Response); }
public static void Run() { var configuration = new HttpCallConfiguration{ ServiceUri = serviceUri, Method = HttpMethod.POST, Iterations = iterations, IntervalMilliseconds = intervalMilliseconds, PostData = soapEnvelope}; configuration.Headers.Add("SOAPAction", action); var client = new RawHttpClient(configuration, Console.Out); client.MakeRawHttpCall(); }
public static void Run() { var configuration = new HttpCallConfiguration { ServiceUri = serviceUri, Method = HttpMethod.POST, Iterations = iterations, IntervalMilliseconds = intervalMilliseconds, PostData = soapEnvelope }; configuration.Headers.Add("SOAPAction", action); var client = new RawHttpClient(configuration, Console.Out); client.MakeRawHttpCall(); }
public async Task <FluentHttpResponse> Send(HttpRequestMessage request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var requestId = request.AddRequestId(); await RawHttpClient.SendAsync(request); request.Dispose(); // todo: since consumer is passing request message leave it up to him or not? or make global config ShouldDisposeMessageOnSend or so var executionContext = _requestTracker.Pop(requestId); return(executionContext.Response); }
/// <summary> /// Make sure the TestHttpHandler is running before trying this test. /// </summary> public static void Call_TestHttpHandler() { var configuration = new HttpCallConfiguration { ServiceUri = serviceUri, Method = HttpMethod.GET, Iterations = iterations, IntervalMilliseconds = intervalMilliseconds, PrintResponse = false, Expect100Continue = false, UseNagleAlgorithm = false, KeepAlive = true }; var client = new RawHttpClient(configuration, Console.Out); client.MakeRawHttpCall(); }
/// <summary> /// Make sure the TestTimerService is running before trying this test. /// </summary> public static void Call_TestTimerService() { var configuration = new HttpCallConfiguration { ServiceUri = serviceUri, Method = HttpMethod.POST, Iterations = iterations, IntervalMilliseconds = intervalMilliseconds, PostData = soapEnvelope, PrintResponse = false, Expect100Continue = false, UseNagleAlgorithm = false, KeepAlive = true }; configuration.Headers.Add("SOAPAction", action); var client = new RawHttpClient(configuration, Console.Out); client.MakeRawHttpCall(); }
/// <inheritdoc /> public async Task <FluentHttpResponse> Send(FluentHttpRequest fluentRequest) { if (fluentRequest == null) { throw new ArgumentNullException(nameof(fluentRequest)); } var response = await _middlewareRunner.Run(_middleware, fluentRequest, async request => { var result = await RawHttpClient.SendAsync(request.Message, request.CancellationToken) .ConfigureAwait(false); return(ToFluentResponse(result, request.Items)); }).ConfigureAwait(false); if (fluentRequest.HasSuccessStatusOrThrow) { response.EnsureSuccessStatusCode(); } return(response); }
/// <inheritdoc /> public async Task <FluentHttpResponse> Send(FluentHttpRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var requestId = request.Message.AddRequestId(); _requestTracker.Push(requestId, request); await RawHttpClient.SendAsync(request.Message); var executionContext = _requestTracker.Pop(requestId); if (request.HasSuccessStatusOrThrow) { executionContext.Response.EnsureSuccessStatusCode(); } return(executionContext.Response); }
/// <inheritdoc /> public void Dispose() { RawHttpClient?.Dispose(); }