couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Spode Miller (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1855) POST/GET query is not processing arrays properly
Date Tue, 16 Jul 2013 14:10:48 GMT
Andrew Spode Miller created COUCHDB-1855:
--------------------------------------------

             Summary: POST/GET query is not processing arrays properly
                 Key: COUCHDB-1855
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1855
             Project: CouchDB
          Issue Type: Bug
          Components: HTTP Interface
            Reporter: Andrew Spode Miller


Sending an array in POST/GET url encoded form is not working correctly.

For example:

?foo[]=bar&foo[]=bar2

OR

?foo[0]=bar&foo[1]=bar2

OR 

?foo=bar&foo=bar2

Should be converted to:

foo = ["bar", "bar2"]

Instead, the last element overwrites it. So in the above example, excluding the 2nd variety,
you would get:

foo = "bar2"

I can't find a W3C document to back up this behaviour - but certainly in PHP and Java, this
is normal behaviour. jQuery also converts an array into this format too, so if it's not "standard"
it's certainly expected.

According to "rnewson" who I was chatting to on IRC - the reason this is happening is that
the URL query is being converted to a JSON object. Therefore, two items with the same key
name would overwrite each other. He also says the following:

"yes, I think you'd want to convert "foo=bar&foo=baz" into "foo":["bar","baz"] instead
of [{"foo","bar"},{"foo","baz"}] in couch_httpd_external's to_json_terms function."

I have put a work around in my own code, so this isn't a priority for me - but perhaps if
someone else already has the relevant bit of code open... :)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message