Welcome! Log In Create A New Profile

Advanced

Re: NJS Questions and/or Bugs

Lance Dockins
August 11, 2021 11:52PM
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 <lance@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 <lance@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 <osa@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
Subject Author Posted

NJS Questions and/or Bugs

Lance Dockins August 11, 2021 08:44PM

Re: NJS Questions and/or Bugs

Sergey A. Osokin August 11, 2021 09:52PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 10:06PM

Re: NJS Questions and/or Bugs

Sergey A. Osokin August 11, 2021 10:22PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 10:32PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 10:40PM

Re: NJS Questions and/or Bugs

Sergey A. Osokin August 11, 2021 10:44PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 10:50PM

Re: NJS Questions and/or Bugs

Sergey A. Osokin August 11, 2021 10:58PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 11:02PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 11:46PM

Re: NJS Questions and/or Bugs

Lance Dockins August 11, 2021 11:52PM

Re: NJS Questions and/or Bugs

Sergey A. Osokin August 11, 2021 10:42PM

Re: NJS Questions and/or Bugs

Dmitry Volyntsev August 12, 2021 02:16AM

Re: NJS Questions and/or Bugs

Lance Dockins August 12, 2021 08:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 297
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready