You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Aliaksandr Barysiuk <a....@gmail.com> on 2012/11/30 14:53:44 UTC
Rewrite adds quotes to parameters
Hello,
I'm trying to create a rewrite rule for my view that looks like: /myview/3/["1","2"]/["1","4"].
Rewrite rule is:
{
"from": "/myview/:group_level/:startkey/:endkey",
"to": "/path_to_db_and_design_doc/_view/myview",
"query": {
"group_level" : ":group_level",
"startkey" : ":startkey",
"endkey" : ":endkey"
}
The issue is that this rewire rule adds extra quotes to every parameter in the query.
Logged examples:
1) without rewrite (myview?group_level=3&startkey["1","2"]&endkey=["1","4"])
/myview?endkey=%5B%221%22%2C%224%22%5D&startkey%5B%221%22%2C%222%22%5D=&group_level=3
2) with rewrite (myview/3/["1","2"]/["1","4"])
/myview?startkey=%22%5B%5C%221%27%2C%5C%222%5C%22%5D%22&endkey=%22%5B%5C%221%5C%22%2C%5C%224%5C%22%5D%22&group_level=3
So no results in second case.
Is there any way to avoid this extra quotes?
Thank's
Alex
Re: Rewrite adds quotes to parameters
Posted by Benoit Chesneau <bc...@gmail.com>.
l
On Nov 30, 2012 2:54 PM, "Aliaksandr Barysiuk" <a....@gmail.com> wrote:
> Hello,
>
> I'm trying to create a rewrite rule for my view that looks like:
> /myview/3/["1","2"]/["1","4"].
> Rewrite rule is:
> {
> "from": "/myview/:group_level/:**startkey/:endkey",
> "to": "/path_to_db_and_design_doc/_**view/myview",
> "query": {
> "group_level" : ":group_level",
> "startkey" : ":startkey",
> "endkey" : ":endkey"
> }
>
There is a special case for view parameters and it isn't expected to pass
them as parameter in current implementation of the rewriter:
https://github.com/benoitc/couchdb/blob/master/src/couchdb/couch_httpd_rewrite.erl#L286
Instead I would suggest you to do rename the variable name or just using
them as query params.
- benoit