Welcome! Log In Create A New Profile

Advanced

Re: Send headers in output body filter ?

Maxim Dounin
March 26, 2021 03:04PM
Hello!

On Fri, Mar 26, 2021 at 06:05:27PM +0100, Alfred Sawaya wrote:

> I am developping a nginx C module that aims to modify the backend
> response (handled by the proxy module) in order to redact specified strings.
>
> I have a working module, but I am stuck on a case where the module modfy
> the length of the backend response. As the output header filter is
> called before the output body filter, the content-length is already sent
> when the module get the backend response and modifies it.
>
> Is there any normal way to workaround this? I would like to avoid
> writing a complete upstream handler... I wonder if it is a known use case?

The usual approach is to remove the Content-Length header if you
expect that the response length might be changed by your body
filter. You also have to either remove ETag or change it to a
weak one, if present. For examples see SSI filter, sub filter,
addition filter, and many others.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

Send headers in output body filter ?

Alfred Sawaya 248 March 26, 2021 01:06PM

Re: Send headers in output body filter ?

Maxim Dounin 94 March 26, 2021 03:04PM

Re: Send headers in output body filter ?

Alfred Sawaya 116 March 26, 2021 04:06PM

Re: Send headers in output body filter ?

Alfred Sawaya 142 March 26, 2021 07:58PM

Re: Send headers in output body filter ?

Maxim Dounin 145 March 26, 2021 09:50PM

Re: Send headers in output body filter ?

Alfred Sawaya 113 March 26, 2021 10:40PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 297
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready