Chris Ross

Results 447 comments of Chris Ross

Interesting the whole thing is just a HttpMessageHandler. Does it have uses outside of yarp that would warrant it being its own project?

I agree this is buggy, the config clearly calls for the trailing slash. I don't think any of those services are using these transforms so the risk should be minimal.

Registering any service should register all of its required dependencies. If some of those are conditionally required then there should be separate extensions for those scenarios where they are required.

I did a similar connection middleware component [here](https://github.com/aspnet/AspLabs/blob/88e20476b569e92be92343017803d6af4c719642/src/ProxyProtocol/ProxyProtocol.Sample/Program.cs#L31) that we should be able to model this on.

@mguinness I'd suggest moving that question to https://github.com/microsoft/reverse-proxy/discussions. Blocking like that would be applied at the connection, server, or middleware layer before reaching any of the YARP logic at the...

Open questions: - What component initiates the retry? A middleware? - You'd want to be able to re-run load balancing. - You'd want to be able to update destination health...

> ProxyInvokerMiddleware.Invoke, code around "await _httpProxy.ProxyAsync" ? I expect this will be in its own middleware, like load balancing. That allows you to position it before or after load balancing...

It would require buffering the request body. `HttpRequest.EnableBuffering()` is one way to do that, but it adds a lot of overhead to every request just in case you need to...

> Also buffering can be avoid if http request object can be made available to retry middleware. How will that help avoid buffering the request body?

@Henery309 glad you got it working. Some feedback: - Let active or passive health checks handle pulling destinations out of rotation. This middleware's job is to retry from the list...