public async Task <HttpResponseMessage> GetCategories(HttpContext requestContext, CancellationToken cancellationToken)
        {
            var request = new HttpRequestMessage(HttpMethod.Post, _categoryApiConfig.GetCategories);

            _headersConfigurator.Apply(requestContext, request);

            return(await _httpClient.SendAsync(request, cancellationToken)
                   .ConfigureAwait(false));
        }
        public void RequestConfigurator_Copies_Authorization_From_Source_To_Target_Test()
        {
            var requestMessage    = new HttpRequestMessage();
            var expectedAuthValue = Guid.NewGuid().ToString();
            var expectedValue     = new AuthenticationHeaderValue(expectedAuthValue);

            _controller.HttpContext.Request.Headers["Authorization"] = expectedAuthValue;

            // Act
            _sut.Apply(_controller.HttpContext, requestMessage);

            Assert.That(requestMessage.Headers.Authorization, Is.EqualTo(expectedValue));
        }
        public async Task <IActionResult> GetCategories(CancellationToken cancellationToken)
        {
            var response = await _categoryApiClient.GetCategories(HttpContext, cancellationToken);

            _responseConfigurator.Apply(response, Response);

            response.EnsureSuccessStatusCode();

            var content = await response.Content.ReadAsStringAsync();

            var categories = JsonSerializer.Deserialize <IEnumerable <Category> >(content);

            return(new JsonResult(categories));
        }
Example #4
0
        public async Task <HttpResponseMessage> ExecuteCustomScriptQuery(HttpContext requestContext, CancellationToken cancellationToken, string customScript)
        {
            var request = new HttpRequestMessage(HttpMethod.Post, _dashboardApiConfig.ExecuteCustomScriptQuery)
            {
                Content = new StringContent($"script={customScript}",
                                            Encoding.UTF8,
                                            "application/x-www-form-urlencoded")
            };

            _headersConfigurator.Apply(requestContext, request);

            return(await _httpClient.SendAsync(request, cancellationToken).ConfigureAwait(false));
        }
Example #5
0
        public void ResponseConfigurator_Copies_Content_Type_From_Source_To_Target_Test()
        {
            var httpContent = new Mock <HttpContent>();

            var responseMessage = new HttpResponseMessage {
                Content = httpContent.Object
            };

            var expectedContentType = new MediaTypeHeaderValue("text/plain");

            responseMessage.Content.Headers.ContentType = expectedContentType;

            // Act
            _sut.Apply(responseMessage, _controller.Response);

            _controller.Response.Headers.TryGetValue("Content-Type", out var contentTypeValueString);


            Assert.That(contentTypeValueString.ToString(), Is.EqualTo(expectedContentType.ToString()));
        }