Welcome! Log In Create A New Profile

Advanced

Re: The addition before sub

Maxim Dounin
June 06, 2013 09:58AM
Hello!

On Thu, Jun 06, 2013 at 03:41:53PM +0200, Witold Filipczyk wrote:

> Hello,
> I want to inject something before </body> and before </head>, but
> even if there is no </body>.
> So used add_after_body /after_body;
> /after_body returns the text </body>, so there is at least one
> </body> in the page.
> I wanted sub_filter to replace </body> to SOMETHING</body>, but the
> sub_filter is run before the addition_filter.
> Changing the order in modules doesn't help, because the sub_filter
> doesn't replace the text from subrequests.

Works fine here:

location / {
add_after_body /after.html;
sub_filter 'foo' 'bar';
}

$ cat main.html
this is main.html: foo
$ cat after.html
this is in after.html: foo
$ fetch -qo - 'http://localhost:8080/main.html'
this is main.html: bar
this is in after.html: bar

The explanation is simple: addition filter uses _subrequests_ to
add text, and these subrequests are in turn processed by the whole
filter chain, including the sub filter. Hence order of sub and
addition filters doesn't matter.

Most likely it doesn't work for you because /after_body have some
default mime type not matched by sub_filter_types, see
http://nginx.org/r/sub_filter_types.

> I have a few questions:
> How to replace two different substrings using sub_filter or something else?

As of now it's not possible.

> How to force sub_filter to replace text, even if it comes from the
> addition filter?

This works out of the box, see above.

--
Maxim Dounin
http://nginx.org/en/donation.html

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

The addition before sub

Witold Filipczyk 774 June 06, 2013 09:44AM

Re: The addition before sub

Maxim Dounin 305 June 06, 2013 09:58AM

Re: The addition before sub

Witold Filipczyk 349 June 06, 2013 11:44AM

Re: The addition before sub

Maxim Dounin 384 June 06, 2013 01:58PM

Re: The addition before sub

Witold Filipczyk 427 June 06, 2013 02:28PM



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

Online Users

Guests: 104
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