public static string GetUrl(PlainHttpRequest plainHttpRequest) { if (plainHttpRequest == null) { throw new ArgumentNullException(nameof(plainHttpRequest)); } var urlBuilder = new UriBuilder { Scheme = plainHttpRequest.Scheme, Host = plainHttpRequest.Host, Port = plainHttpRequest.Port, Path = plainHttpRequest.Path, Query = plainHttpRequest.QueryString }; return(urlBuilder.Uri.ToString()); }
public void When_get_url_Then_returns_url() { //Arrange var plainHttpRequest = new PlainHttpRequest { Method = "GET", Scheme = "http", Host = "host", Port = 443, Path = "path", QueryString = "?userid=42" }; //Act string result = PlainHttpRequestHelper.GetUrl(plainHttpRequest); //Assert Assert.That(result, Is.EqualTo("http://host:443/path?userid=42")); }
private async Task <HttpResponseMessage> SendHttpRequest(PlainHttpRequest plainHttpRequest) { var requestUrl = PlainHttpRequestHelper.GetUrl(plainHttpRequest); var response = await this.httpClientWrapper.SendRequest( requestUrl, this.httpContext.Request.Method, this.httpContext.Request.Body, plainHttpRequest.Headers, plainHttpRequest.TimeoutInSeconds); this.logger.LogDebug( "{method} request has been send to URL {requestUrl}. Response status code {statusCode}", this.httpContext.Request.Method.ToUpper(), requestUrl, response.StatusCode); return(response); }
public PlainHttpRequest Create( string method, string path, string queryString, IHeaderDictionary headers, ushort?timeoutInSeconds, PlainRouteConfiguration routeConfiguration) { this.ValidateParameters(method, headers, routeConfiguration); var address = routeConfiguration.Target.Addresses.First(); var httpPath = this.httpRequestPathProvider.Get( path, routeConfiguration.Source.PathTemplate, routeConfiguration.Target.PathTemplate); var request = new PlainHttpRequest { Method = method, Scheme = routeConfiguration.Target.Scheme, Host = address.Host, Port = address.Port, Path = httpPath, QueryString = queryString ?? string.Empty, Headers = headers, // ReSharper disable once PossibleInvalidOperationException TimeoutInSeconds = timeoutInSeconds.Value }; this.logger.LogDebug( "{method} request has been created for path {path} and query string {queryString}", request.Method.ToUpper(), request.Path, request.QueryString); return(request); }
private bool IsRequestValid(PlainHttpRequest plainHttpRequest) { return(plainHttpRequest == null); }