Because I don't have deep knowledge of nginx internal and I can not find a proper resource about it, the best I can do and with what I am comfortable is with body_filter.
Do you think I can notice whether all other 3rd party module filters finish modifying the ngx_chain_t *in ? On Fri, May 23, 2014 at 2:41 PM, Maxim Dounin <mdou...@mdounin.ru> wrote: > Hello! > > On Fri, May 23, 2014 at 02:17:27PM +0100, Paulo Silva wrote: > >> Hi, >> >> On Fri, May 23, 2014 at 12:58 PM, Maxim Dounin <mdou...@mdounin.ru> wrote: >> > Hello! >> > >> > On Fri, May 23, 2014 at 11:57:20AM +0100, Paulo Silva wrote: >> > >> >> there is other option than modify the auto/modules file? >> >> >> >> According to my goal (capture the full request response body) I would >> >> say that my module must run right before the postpone. >> > >> > Before the postpone filter you'll get subrequest bodies in your >> > filter, which is probably not what you want (the postpone filter >> > is to glue subrequest together, correctly ordered). >> > >> >> Am I supposed to modify the auto/modules like follows? >> >> >> >> if [ $HTTP_POSTPONE = YES ]; then >> >> HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES >> >> $HTTP_POSTPONE_FILTER_MODULE" >> >> HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS" >> >> fi >> >> >> >> # insert my module here! >> >> >> >> if [ $HTTP_SSI = YES ]; then >> >> have=NGX_HTTP_SSI . auto/have >> >> HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE" >> >> HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS" >> >> HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS" >> >> fi >> >> >> >> >> >> I did check my modules config file and I did realize that it is >> >> "queued" as HTTP_AUX_FILTER_MODULES. There are different queues for >> >> core modules and addons? >> > >> > The HTTP_AUX_FILTER_MODULES is a generic queue, and it's the >> > only one currently officially supported for 3rd party modules. >> > >> > If you want your filter to be called right before/after postpone >> > filter, it should be relatively safe to put it into the >> > HTTP_POSTPONE_FILTER_MODULE variable though (and may be with some >> > additional checks to make sure the postpone filter is enabled, or >> > just a code to enable it unconditionally). >> > >> >> And this is also valid when compiling nginx with the --add-module flag? >> How does config file look like? >> >> My knowledge is restricted to Emiller's Guide To Nginx Module >> Development (http://www.evanmiller.org/nginx-modules-guide.html) and a >> few debugging hours. > > Uhm, looking again into auto/modules I think I was wrong, and > modifying the HTTP_POSTPONE_FILTER_MODULE variable won't work > (added module config scripts are executed later on), you should > modify HTTP_FILTER_MODULES variable instead, and put your module > into a proper position. > > Note that the "config" file of a module is just a shell script, > and you are free to do more or less anything there. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-devel mailing list > nginx-devel@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-devel -- Paulo A. Silva http://tech.pauloasilva.com http://linkedin.com/in/devpauloasilva/ _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel