• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ThreeMammals / Ocelot / 26761608736

01 Jun 2026 02:34PM UTC coverage: 0.0% (-95.4%) from 95.403%
26761608736

Pull #2394

github

web-flow
Merge e39fc0db2 into e4022a7d8
Pull Request #2394: Harden `FileConfigurationPoller` against timer reentrancy and callback thread leaks, and stabilize `TimeoutDelegatingHandler` timeout test

0 of 7112 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/Ocelot/Requester/Middleware/HttpRequesterMiddleware.cs
1
using Microsoft.AspNetCore.Http;
2
using Ocelot.Logging;
3
using Ocelot.Middleware;
4
using Ocelot.Responses;
5

6
namespace Ocelot.Requester.Middleware;
7

8
public class HttpRequesterMiddleware : OcelotMiddleware
9
{
10
    private readonly RequestDelegate _next;
11
    private readonly IHttpRequester _requester;
12

13
    public HttpRequesterMiddleware(RequestDelegate next,
14
        IOcelotLoggerFactory loggerFactory,
15
        IHttpRequester requester)
16
            : base(loggerFactory.CreateLogger<HttpRequesterMiddleware>())
×
17
    {
×
18
        _next = next;
×
19
        _requester = requester;
×
20
    }
×
21

22
    public async Task Invoke(HttpContext httpContext)
23
    {
×
24
        var response = await _requester.GetResponse(httpContext);
×
25
        CreateLogBasedOnResponse(response);
×
26

27
        if (response.IsError)
×
28
        {
×
29
            Logger.LogDebug("IHttpRequester returned an error, setting pipeline error");
×
30

31
            httpContext.Items.UpsertErrors(response.Errors);
×
32
            return;
×
33
        }
34

35
        Logger.LogDebug("Setting HTTP response message...");
×
36
        httpContext.Items.UpsertDownstreamResponse(new DownstreamResponse(response.Data));
×
37
        await _next.Invoke(httpContext);
×
38
    }
×
39

40
    private void CreateLogBasedOnResponse(Response<HttpResponseMessage> response)
41
    {
×
42
        var status = response.Data?.StatusCode ?? HttpStatusCode.Processing;
×
43
        var reason = response.Data?.ReasonPhrase ?? "unknown";
×
44
        var uri = response.Data?.RequestMessage?.RequestUri?.ToString() ?? string.Empty;
×
45

46
        string message() => $"{(int)status} {reason} status code of request URI: {uri}";
47

48
        if (status < HttpStatusCode.BadRequest)
×
49
        {
×
50
            Logger.LogInformation(message);
×
51
        }
×
52
        else
53
        {
×
54
            Logger.LogWarning(message);
×
55
        }
×
56
    }
×
57
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc