$arg_name as an array

Hello,

Does it possible to use $arg_name as an array?
For example
I’ve query string : ?opt[test]=1

I’d like to get value od opt[test] but $arg_opt[test] doesn’t work.

Is there special syntax for that case?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,249982,249982#msg-249982

On 9 May 2014 10:16, beatnut [email protected] wrote:

Hello,

Does it possible to use $arg_name as an array?
For example
I’ve query string : ?opt[test]=1

I’d like to get value od opt[test] but $arg_opt[test] doesn’t work.

Is there special syntax for that case?

Query strings arguments are just strings. Whatever encoding you layer
on top of those strings, in order to be able to treat them as arrays,
is entirely subjective: you could be using any one of a number of
encodings. Nginx has no mechanism to deal with this in its vanilla
setup, as far as I’m aware.

I don’t know how its embedded perl or lua modules might be /able/ to
treat them, but you’d almost certainly have to /train/ them (at least
trivially) in how to understand your specific encoding: semi-colon
separated? Brackets of some kind? Some more densely packed binary
encoding which you’ve then had to base64 encode because of HTTP? Nginx
doesn’t know this, and doesn’t give you this functionality out of the
box.

J

On 9 May 2014 10:16, beatnut [email protected] wrote:

Does it possible to use $arg_name as an array?
For example
I’ve query string : ?opt[test]=1

I’d like to get value od opt[test] but $arg_opt[test] doesn’t work.

Is there special syntax for that case?

This thread might be of interest:
http://forum.nginx.org/read.php?11,241016

I haven’t tested it but it suggests that the syntax ${arg_opt[test]}
might
do what you require.

This email, including attachments, is private and confidential. If you
have
received this email in error please notify the sender and delete it from
your system. Emails are not secure and may contain viruses. No liability
can be accepted for viruses that might be transferred by this email or
any
attachment. Any unauthorised copying of this message or unauthorised
distribution and publication of the information contained herein are
prohibited.

7digital Limited. Registered office: 69 Wilson Street, London EC2A 2BB.
Registered in England and Wales. Registered No. 04843573.

Note that this is not “treating $arg_name as an array”, it’s simply
allowing you to use the [] characters in a variable name - usually only
a-z0-9_ is allowed

On 9 May 2014 11:02, Matt G. [email protected] wrote:

This thread might be of interest:
http://forum.nginx.org/read.php?11,241016

I haven’t tested it but it suggests that the syntax ${arg_opt[test]} might
do what you require.


Matt G.
API Developer

T: +44(0)207 099 7777
E: [email protected]
W:
www.7digital.comhttp://www.google.com/url?q=http%3A%2F%2Fwww.7digital.com&sa=D&sntz=1&usg=AFrqEzeLlO75mVeA-8Yi-niLjEpFokXaYA

This email, including attachments, is private and confidential. If you
have
received this email in error please notify the sender and delete it from
your system. Emails are not secure and may contain viruses. No liability
can be accepted for viruses that might be transferred by this email or
any
attachment. Any unauthorised copying of this message or unauthorised
distribution and publication of the information contained herein are
prohibited.

7digital Limited. Registered office: 69 Wilson Street, London EC2A 2BB.
Registered in England and Wales. Registered No. 04843573.

Thanks for explanation.
I’ll try with example above.

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,249982,249987#msg-249987

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs