<div dir="ltr">Hey Maxime! The solution you described makes sense and should work. And yes, you should probably useĀ <span style="font-size:12.8px">HTTP_AUX_FILTER_MODULES to register your handler.</span><div><span style="font-size:12.8px">You will have to do a little more juggling with buffers however. From what I remember, the default behaviour when using notĀ </span><span style="font-size:12.8px">NGX_HTTP_SUBREQUEST_IN_MEMORY is to pass on the subrequest response to the client. You probably don't want that, so you will have to catch the response buffers in the output handler and not pass anything to the next filter.</span></div><div><span style="font-size:12.8px"><a href="https://trac.nginx.org/nginx/browser/nginx/src/http/modules/ngx_http_ssi_filter_module.c">https://trac.nginx.org/nginx/browser/nginx/src/http/modules/ngx_http_ssi_filter_module.c</a> is probably the best source of inspiration for this.</span><br></div><div><span style="font-size:12.8px">Anyway, good luck!</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-22 15:30 GMT+03:00 Maxime Henrion <span dir="ltr"><<a href="mailto:mhenrion@appnexus.com" target="_blank">mhenrion@appnexus.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello all,<br>
<br>
<br>
I am currently developing a module that has to send a number of subrequests to upstream servers, and aggregate them through application logic. I am currently doing that through a post-subrequest handler, using the NGX_HTTP_SUBREQUEST_IN_MEMORY flag. My problem is that it is possible to receive very large responses from the upstream servers, and I end up with the "upstream buffer is too small" error, even after bumping the buffer sizes a number of times.<br>
<br>
It is my understanding that if I drop this subrequest flag, nginx wouldn't try to make the response fit in a single buffer anymore, but then I have no idea how to get at that buffer chain - my post-subrequest handler only knows about the single buffer in the upstream structure and I haven't been able to locate a piece of code that would do things differently.<br>
<br>
I suppose it would be possible to use an output filter instead of a post-subrequest handler for that use case, would that make sense? And last but not least, if I go down that road, can I just move my module "declaration" to the HTTP_AUX_FILTER_MODULES variable (from HTTP_MODULES), and still have the rest of module work fine, or will I need to use a second module for that?<br>
<br>
Thanks a lot in advance!<br>
Maxime<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</blockquote></div><br></div>