Also, just to be clear, you’re saying that r.args should include parsed POST vars? Obviously it includes query string/GET vars. That works. But the values in the POST body do not show up in the args output. And again, I basically see nothing coming up in the output for variables.
This: # Pass PHP requests to PHP-FPM location ~ \.php$ { limit_req zone=post_limit burst=5 nodelay; limit_req_status 429; set $test 0; add_header Content-Type text/plain; js_content dbadmin.access; } function access(r){ var jObj = JSON.stringify(r.args) + '\n'; jObj = JSON.stringify(r.variables); try { var parseJSON = JSON.parse(jObj); } catch (err) { r.return(400, 'Cannot parse jObj'); return; } r.return(200, jObj); return; } export default {access} Shows nothing. Just an empty JSON object like {} -- Lance Dockins Minister of Magic WordKeeper Office: 405.585.2500 Cell: 405.306.7401 https://wordkeeper.com On Aug 11, 2021, 10:44 PM -0500, Lance Dockins <la...@wordkeeper.com>, wrote: > Something is definitely wrong here but I’ve stripped most of the more > advanced configuration out of the vhost conf, removed all modules other than > NJS, and set the Nginx compile to pretty much the most vanilla compile option > set that I can to rule out the possibility of 3rd party interference with > this. Nothing is having any impact on the args var output. For POST, it’s > always an empty object. For GET, it’s always showing the query string vars > in a key/value pair (if there are any). The variables and rawVariables > objects always seem to be empty but I’m not setting any vars with NJS right > now. I’m only setting those in Nginx. > > At this point, if you’re saying that it should be working, I’m inclined to > think that I’ve discovered some sort of bug. Debug didn’t turn up anything > unexpected. I’m not the most well versed person at parsing through debug > logs but it all looked like expected stuff to me. > > Moreover, the config that I was using at the start of this conversation is a > config that is working on multiple thousands of production websites on well > over 100 servers that we care for with no issues whatsoever. Not to mention > that that config works just fine with LuaJIT. The only difference was that > we swapped out the LuaJIT hooks for NJS to see how that might work instead. > But like I said, at this point, even with no 3rd party modules, no patches of > any sort, very basic compile settings, and no fancy use of Nginx settings > (e.g. extensive use of IF), it’s just not working. > > So either I have stumbled across some flaw in NJS or there’s a > misunderstanding somewhere in the discussion. > > > -- > Lance Dockins > > On Aug 11, 2021, 10:00 PM -0500, Lance Dockins <la...@wordkeeper.com>, wrote: > > Unfortunately, we can’t really use standard packages. We need extra > > modules. I’m recompiling and enabling debug now. The modules we’re using > > aren’t anything super abnormal and we might replace one of them with NJS at > > some point. All I know for sure is that this seems to work just fine with > > OpenResty’s LuaJIT integration/module. So it’s something that is different > > between NJS and that. > > > > Hopefully the debug will turn something up. > > > > > > -- > > Lance Dockins > > > > On Aug 11, 2021, 9:57 PM -0500, Sergey A. Osokin <o...@freebsd.org.ru>, > > wrote: > > > On Wed, Aug 11, 2021 at 09:48:48PM -0500, Lance Dockins wrote: > > > > I’ll try recompiling nginx with that to see if that changes anything. > > > > > > I'd recommend to use official packages for Linux from the following URL, > > > http://nginx.org/en/linux_packages.html > > > > > > > In fact, even your code is returning nothing. > > > > > > That's definitely something wrong on your side. Please simplify the > > > nginx configuration, remove all unnecessary directives. > > > > > > ... > > > > > > > When I submit a POST with vars, I still get an empty object in the > > > > response. > > > > > > A couple of suggestions: > > > > > > - Have you enabled debugging log? If so, could you share nginx-error.log. > > > - How did you test the code? Here's my shell script: > > > > > > #!/bin/sh > > > > > > curl -v --data-binary @test.bin http://127.0.0.1:8080/test?foo=bar\&baz=1 > > > > > > #EOF > > > > > > Please report when all suggested points are done, thanks. > > > > > > -- > > > Sergey > > > _______________________________________________ > > > nginx mailing list > > > nginx@nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx