Thanks! On Fri, Aug 8, 2014 at 12:42 PM, Maxim Dounin <mdou...@mdounin.ru> wrote: > Hello! > > On Fri, Aug 08, 2014 at 10:44:59AM -0400, Jeff Kaufman wrote: > >> In ngx_pagespeed we want to handle POSTs, processing them in our nginx >> module and performing an action. This works fine for small POSTs, but >> if they're too big then r->request_body->temp_file is set and the data >> isn't available in memory. Right now we just log an error, but I'd >> like to fix this. >> >> To read from that file, is it safe to just call >> ngx_open_tempfile(r->request_body->temp_file->file.name, ...) and then >> ngx_read_file() until that returns 0 for EOF (like standard unix) or >> an error? Or is there something more complex we need to do? >> >> (I've looked for existing modules that do this, but haven't found any. >> I'm not finding any modules that currently do that; just ones that >> issue a rename command to move r->request_body->temp_file into the >> final destination.) > > The modules which read request body from a file don't do this via > a file name (in most cases, there is no name at all, as temporary > files are unlink()'ed after they are open), but rather through > already opened file descriptor. E.g., upstream does this (using > output chain) to send a request body to a backend server. > > In either case, reading temporary files might be suboptimal - you > may consider using request body filters instead, an experimental > patch can be found, e.g., here: > > http://mailman.nginx.org/pipermail/nginx-devel/2013-March/003492.html > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-devel mailing list > nginx-devel@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-devel
_______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel