Hi Christopher,

On 21/10/2026 at 21:47, Christopher Faulet wrote:
> Yes, you can add http_reset() call into do_l7_retry() and update the
> doc. Thanks ! Good point about calls to channel_start_analyze() on
> each retry. I guess we must keep it because it is performed after the
> connection is established.

Thanks, I will send a patch which calls http_reset() in do_l7_retry(),
for the response only, as described in my previous mail, and which
updates the filters documentation. It will also mention that
channel_start_analyze() is called again on the response channel after
a L7 retry, so that a filter is not surprised by it.

> At first glance, back_handle_st_req() is better because on retry, it
> will not be called again, except on redispatch. And I prefer to not
> add more dependencies on the stream in connect_server().

Thanks for the explanation. In the meantime, the cloudauth filter moved
to its own repository and no longer needs a new callback: it signs the
request in its http_headers callback, once the HTTP rules were
evaluated. The signature does not depend on the server, since the
filter sets the Host header itself, so it remains valid on redispatches
and on L7 retries, where the request is sent again as is. A failure
stops the request there with a 503.

So I would drop the http_pre_send callback for now. If a filter which
needs the selected server comes later, I will keep in mind
back_handle_st_req() after srv_redispatch_connect(), and your remark
about the channel output when the HTX message is altered there.

> I saw your repository. It is a good idea to work in a dedicated
> repository for now indeed.

Great, I will continue there:
https://github.com/git001/haproxy-cloudauth

It builds against an unmodified master as an addon (EXTRA_MAKE), and
uses the new filter-config API.

Regards,
Aleks


Reply via email to