-
-
Notifications
You must be signed in to change notification settings - Fork 396
Open
Labels
Description
Flurl.Http 4.0.2
The passing delegating handler, is typically a chain of handlers. However, AddMiddleware assigns the outer handler to the very first element in the chain of handlers, like this:
foreach (var middleware in Enumerable.Reverse(_addMiddleware).Select(create => create()))
{
middleware.InnerHandler = outerHandler;
outerHandler = middleware;
}
This behavior disrupts the intended sequence of handlers in the chain. A better approach would be for AddMiddleware to follow the chain to its end before making any assignments.
while (middleware.InnerHandler is DelegatingHandler delegatingHandler)
{
middleware = delegatingHandler;
}
middleware.InnerHandler = outerHandler;
Metadata
Metadata
Assignees
Labels
Projects
Status
Backlog