Thank you Dmitry. This helps a ton. I will note that the post key/value pair solution only works for URL encoded post values. If the enctype is set to multipart/form-data, you get get the data without writing your own data parser. I already wrote one for URL encoded types and was working on one for multipart form data at the time that I wrote this. Parsing the data with JS is just not the most elegant solution - particularly since some sort of parsing is going on already. Maybe I am also just spoiled from using fastcgi to PHP where all of that is pre-parsed. But it seems like a fairly straightforward request data access feature. I guess I will just have to make due for now.
-- Lance Dockins On Aug 12, 2021, 1:14 AM -0500, Dmitry Volyntsev <xei...@nginx.com>, wrote: > Hi Lance, > > Thanks for your detailed feedback. > > > What exactly should r.variables and r.rawVariables contain? ... > > r.variables and r.rawVariables are special objects, because they are > created on the fly. There is no way to get all the possible variable > names from nginx. So Object.keys(r.variables) is empty list. Therefore > dumping and iterating over r.variables returns nothing. But, if you have > a $foo variable, r.variables.foo would return the $foo content as a string. > > > That might also be a fallacy of our testing methodology since we’re > using JSON.stringify to visualize the output in the browser. > > The JSON.stringify() is no the best, use njs.dump(). > http://nginx.org/en/docs/njs/reference.html#njs > > > Is there already an NJS object or are there plans for an object that > parses and maps POST key/value pairs into a JSON object? > > Take a look at https://github.com/nginx/njs/issues/48#issuecomment-415745451 > > > Filters for the different phase of the Nginx request > > We are thinking about the adding phases handlers. > > > Direct variable access to the Nginx variables (either read only or > writable depending on the context within which they were created) > > this is already in place > > > Array like access to the request arguments (e.g. cookies, post args, > query string args, etc). Right now the only version of this that we’ve > found reliably working in the js_content phase is query string related > stuff (in the args array) > > Feel free to add a feature request here https://github.com/nginx/njs > Although this is not a feature requested often (for some reason).
_______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx