Getting List of Output Chains Before the Output Filter
mdounin at mdounin.ru
Fri Aug 19 17:23:51 UTC 2022
On Wed, Aug 17, 2022 at 09:58:58PM -0400, panamagod25 wrote:
> Good evening,
> I'm following the instructions on the developer guide:
> and also this github project:
> What I'm trying to do is to collect all of the tags on an HTML page, then
> perform an operation on a certain tag group based on tag count? For example:
> I want to add a class to all <div> tags if there are more <div> tags than
> <a> tags.
> So, (kind of) like the html_head_filter module from above, I want the parser
> to run on all of the HTML, then do some logic, THEN when it hits the output
> filter, create a c engine which will modify the requisite tag.
> Any help you can provide would be very appreciated.
Normally, the full response body is not available in nginx, since
response bodies can be arbitrary big. Instead, nginx processes
the response body as a stream, handling individual buffers with
If in your particular use case response bodies are guaranteed to
be of limited size, and you have to do some processing which needs
the whole response body, you'll have to buffer it in your response
body filter. Examples of such buffering can be found in the image
filter (src/http/modules/ngx_http_image_filter_module.c) and the
xslt filter (src/http/modules/ngx_http_xslt_filter_module.c).
Hope this helps.
More information about the nginx