incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoit Chesneau <bchesn...@gmail.com>
Subject Re: Strange issue with VHosts and rewrites...
Date Thu, 13 Jan 2011 17:28:16 GMT
On Thu, Jan 13, 2011 at 5:16 PM, Janez Štupar <janez.stupar@gmail.com> wrote:
> I'm sorry - my english is usually not this crappy.
>
> The error is still there regardless of rewrite configuration. Drop an eye on
> test results and you will see. Also at the end of the mail there are some
> additional questions I had.
>
> -Janez
>
> On Thu, Jan 13, 2011 at 4:53 PM, Benoit Chesneau <bchesneau@gmail.com>wrote:
>
>> On Thu, Jan 13, 2011 at 4:17 PM, Janez Štupar <janez.stupar@gmail.com>
>> wrote:
>> > Benoît, I did what you proposed and it behaves exactly as before
>> >
>> > Ok i did some testing and this is what I figured out.
>> >
>> > This is my testing setup: I created a new database (test) that doesn't
>> use
>> > any VHost rules.
>> >
>> > Inside it I created a design document that only has rewrites field. I
>> will
>> > present test results exactly as per configuration I used.
>> >
>> > I always sent the same document contained in file "example" - namely:
>> > {
>> >    "type": "comment"
>> > }
>> >
>> > Below are the test results:
>> >
>> ----------------------------------------------------------------------------------------------------
>> > ## Test 1:
>> > # rewrites config:
>> > [
>> >   {
>> >       "to": "../..",
>> >       "from": ":db"
>> >   }
>> > ]
>> >
>> > # Executed command 1.1:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test  http://localhost:5984/test/
>> >
>> {"ok":true,"id":"ce8b504d63666c9257cc07537c00aa70","rev":"1-505a221d0aef5d664f29d6afdae01293"}
>> >
>> > # Comment: expected result - everything is fine.
>> >
>> >
>> >
>> > # Executed command 1.2:
>> > $ curl -X PUT  -d @example -H "Content-type:application/json"
>> > http://localhost:5984/test/_design/test/_rewrite/test/randomid324324
>> > {"error":"not_found","reason":"missing"}
>> >
>> > # Comment: result expected since there is no ID parameter passed through
>> -
>> > due to the rewrite rule
>> >
>> > #LOG:
>> > [Mon, 10 Jan 2011 21:42:17 GMT] [debug] [<0.8844.3>] 'PUT'
>> > /test/_design/test/_rewrite/test/randomid324324 {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 21:42:17 GMT] [debug] [<0.8844.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 21:42:17 GMT] [debug] [<0.8844.3>] Minor error in HTTP
>> > request: not_found
>> >
>> > [Mon, 10 Jan 2011 21:42:17 GMT] [debug] [<0.8844.3>] Stacktrace:
>> > [{couch_httpd_rewrite,handle_rewrite_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 21:42:17 GMT] [info] [<0.8844.3>] 127.0.0.1 - - 'PUT'
>> > /test/_design/test/_rewrite/test/randomid324324 404
>> >
>> > [Mon, 10 Jan 2011 21:42:17 GMT] [debug] [<0.8844.3>] httpd 404 error
>> > response:
>> >  {"error":"not_found","reason":"missing"}
>> >
>> >
>> >
>> >
>> > # Executed command 1.3:
>> > $curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test
>> > http://localhost:5984/test/_design/test/_rewrite/test/
>> > {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> > # Comment: Rewrite is wrong - also peculiar it won't take
>> application/json
>> > content type.
>> >
>> > # LOG:
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] 'POST'
>> > /test/_design/test/_rewrite/test/ {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] rewrite to
>> > "/test/_design/..?db=test"
>> >
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] 'POST'
>> > /test/_design/..?db=test {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] OAuth Params:
>> > [{"db","test"}]
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] Minor error in HTTP
>> > request: {bad_ctype,
>> >                                 "Content-Type must be
>> multipart/form-data"}
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] Stacktrace:
>> > [{couch_httpd,validate_ctype,2},
>> >             {couch_httpd_db,db_doc_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [info] [<0.9453.3>] 127.0.0.1 - - 'POST'
>> > /test/_design/..?db=test 415
>> >
>> > [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] httpd 415 error
>> > response:
>> >  {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> >
>> >
>> > # Executed command 1.4:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test  http://localhost:5984/test/randomid32420
>> > {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> > # Comment: I did this one just because - and I noticed that when you post
>> > with and ID - it wont accept JSON content type
>> >
>> > # LOG:
>> > [Mon, 10 Jan 2011 21:54:23 GMT] [debug] [<0.9490.3>] 'POST'
>> > /test/randomid32420 {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 21:54:23 GMT] [debug] [<0.9490.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 21:54:23 GMT] [debug] [<0.9490.3>] Minor error in HTTP
>> > request: {bad_ctype,
>> >                                 "Content-Type must be
>> multipart/form-data"}
>> >
>> > [Mon, 10 Jan 2011 21:54:23 GMT] [debug] [<0.9490.3>] Stacktrace:
>> > [{couch_httpd,validate_ctype,2},
>> >             {couch_httpd_db,db_doc_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 21:54:23 GMT] [info] [<0.9490.3>] 127.0.0.1 - - 'POST'
>> > /test/randomid32420 415
>> >
>> > [Mon, 10 Jan 2011 21:54:23 GMT] [debug] [<0.9490.3>] httpd 415 error
>> > response:
>> >  {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> >
>> >
>> >
>> ----------------------------------------------------------------------------------------------------
>> >
>> >
>> > ## Test 2:
>> >
>> > # Rewrites config:
>> > [
>> >   {
>> >       "to": "../../*",
>> >       "from": ":db/*"
>> >   }
>> > ]
>> >
>> > # Executed command 2.1:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test  http://localhost:5984/test/
>> >
>> {"ok":true,"id":"ce8b504d63666c9257cc07537c00af99","rev":"1-505a221d0aef5d664f29d6afdae01293"}
>> >
>> > # Comment: OK, everything is fine
>> >
>> >
>> >
>> > #Executed command 2.2:
>> > $ curl -X PUT  -d @example -H "Content-type:application/json"
>> > http://localhost:5984/test/_design/test/_rewrite/test/randomid3125
>> >
>> {"ok":true,"id":"randomid3125","rev":"1-505a221d0aef5d664f29d6afdae01293"}
>> >
>> > # Comment: OK, everything is fine - since now rewrite rule appropriately
>> > handles the ID.
>> >
>> >
>> > #Executed command 2.3:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test
>> > http://localhost:5984/test/_design/test/_rewrite/test/
>> > {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> > # Comment: Routing and content type are wrong (routing in PUT request -
>> > command 2.2 was done right!)
>> >
>> > # LOG:
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] 'POST'
>> > /test/_design/test/_rewrite/test/ {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] rewrite to
>> > "/test/_design/..?db=test"
>> >
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] 'POST'
>> > /test/_design/..?db=test {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] OAuth Params:
>> > [{"db","test"}]
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] Minor error in HTTP
>> > request: {bad_ctype,
>> >                                 "Content-Type must be
>> multipart/form-data"}
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] Stacktrace:
>> > [{couch_httpd,validate_ctype,2},
>> >             {couch_httpd_db,db_doc_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [info] [<0.10262.3>] 127.0.0.1 - - 'POST'
>> > /test/_design/..?db=test 415
>> >
>> > [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] httpd 415 error
>> > response:
>> >  {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> >
>> > #Executed command 2.4:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test  http://localhost:5984/test/randomid32843
>> > {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> > #Comment: No routing information in log, got Cotent type error.
>> >
>> > #LOG:
>> > [Mon, 10 Jan 2011 22:11:53 GMT] [debug] [<0.10377.3>] 'POST'
>> > /test/randomid32843 {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 22:11:53 GMT] [debug] [<0.10377.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 22:11:53 GMT] [debug] [<0.10377.3>] Minor error in HTTP
>> > request: {bad_ctype,
>> >                                 "Content-Type must be
>> multipart/form-data"}
>> >
>> > [Mon, 10 Jan 2011 22:11:53 GMT] [debug] [<0.10377.3>] Stacktrace:
>> > [{couch_httpd,validate_ctype,2},
>> >             {couch_httpd_db,db_doc_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 22:11:53 GMT] [info] [<0.10377.3>] 127.0.0.1 - - 'POST'
>> > /test/randomid32843 415
>> >
>> > [Mon, 10 Jan 2011 22:11:53 GMT] [debug] [<0.10377.3>] httpd 415 error
>> > response:
>> >  {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> >
>> ----------------------------------------------------------------------------------------------------
>> >
>> >
>> > ## Test 3:
>> >
>> > # Rewrites config:
>> > [
>> >   {
>> >       "to": "../../*",
>> >       "from": ":db/*"
>> >   },
>> >   {
>> >       "to": "../..",
>> >       "from": ":db"
>> >   }
>> > ]
>> >
>> >
>> > # Executed command 3.1:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test  http://localhost:5984/test/
>> >
>> {"ok":true,"id":"ce8b504d63666c9257cc07537c00bbe3","rev":"1-505a221d0aef5d664f29d6afdae01293"}
>> >
>> > # Comment: OK! works as expected
>> >
>> >
>> >
>> > #Executed command 3.2:
>> > $ curl -X PUT  -d @example -H "Content-type:application/json"
>> > http://localhost:5984/test/_design/test/_rewrite/test/randomid43242
>> >
>> {"ok":true,"id":"randomid43242","rev":"1-505a221d0aef5d664f29d6afdae01293"}
>> >
>> > # Comment: OK! works as expected
>> >
>> >
>> > #Executed command 3.3:
>> > $ curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test
>> > http://localhost:5984/test/_design/test/_rewrite/test/
>> > {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> > # Comment: Rewrite issue and content type issue
>> >
>> > # LOG:
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] 'POST'
>> > /test/_design/test/_rewrite/test/ {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] rewrite to
>> > "/test/_design/..?db=test"
>> >
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] 'POST'
>> > /test/_design/..?db=test {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] OAuth Params:
>> > [{"db","test"}]
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] Minor error in HTTP
>> > request: {bad_ctype,
>> >                                 "Content-Type must be
>> multipart/form-data"}
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] Stacktrace:
>> > [{couch_httpd,validate_ctype,2},
>> >             {couch_httpd_db,db_doc_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [info] [<0.11199.3>] 127.0.0.1 - - 'POST'
>> > /test/_design/..?db=test 415
>> >
>> > [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] httpd 415 error
>> > response:
>> >  {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> >
>> > #Executed command 3.4:
>> > $  curl  -d @example -H "Content-type:application/json" -e
>> > http://localhost:5984/test  http://localhost:5984/test/randomid432432
>> > {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> > #Comment: Obviously no rewrite issue, however content type problem is
>> there
>> >
>> > #LOG:
>> > [Mon, 10 Jan 2011 22:21:24 GMT] [debug] [<0.11220.3>] 'POST'
>> > /test/randomid432432 {1,1}
>> > Headers: [{'Accept',"*/*"},
>> >          {'Content-Length',"23"},
>> >          {'Content-Type',"application/json"},
>> >          {'Host',"localhost:5984"},
>> >          {'Referer',"http://localhost:5984/test"},
>> >          {'User-Agent',"curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
>> > OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18"}]
>> >
>> > [Mon, 10 Jan 2011 22:21:24 GMT] [debug] [<0.11220.3>] OAuth Params: []
>> >
>> > [Mon, 10 Jan 2011 22:21:24 GMT] [debug] [<0.11220.3>] Minor error in HTTP
>> > request: {bad_ctype,
>> >                                 "Content-Type must be
>> multipart/form-data"}
>> >
>> > [Mon, 10 Jan 2011 22:21:24 GMT] [debug] [<0.11220.3>] Stacktrace:
>> > [{couch_httpd,validate_ctype,2},
>> >             {couch_httpd_db,db_doc_req,3},
>> >             {couch_httpd_db,do_db_req,2},
>> >             {couch_httpd,handle_request_int,5},
>> >             {mochiweb_http,headers,5},
>> >             {proc_lib,init_p_do_apply,3}]
>> >
>> > [Mon, 10 Jan 2011 22:21:24 GMT] [info] [<0.11220.3>] 127.0.0.1 - - 'POST'
>> > /test/randomid432432 415
>> >
>> > [Mon, 10 Jan 2011 22:21:24 GMT] [debug] [<0.11220.3>] httpd 415 error
>> > response:
>> >  {"error":"bad_content_type","reason":"Content-Type must be
>> > multipart/form-data"}
>> >
>> >
>> >
>> > Apparently these are two different issues.
>> >
>> > First handling of rewrites for POST requests and the second is the
>> problem
>> > with Content types?
>> >
>> > Also I would be extremely happy to find out what are more exact rules for
>> > pattern matching? I have found this site (
>> > http://caolanmcmahon.com/on_designs_undocumented.html) which provides
>> some
>> > answers. I have also read somewhere that rewriting is basically Erlang
>> > pattern matching ... so should I read up more about the topic in Erlang
>> > documentation?
>> >
>> > There is also a question I have that wasn't answered anywhere - is it
>> > possible for multiple rewrites to apply to single request? If so what is
>> the
>> > precedence? If not - what is the precedence in that case.
>> >
>> > Thank you for any response.
>> >
>> > Kind regards, -Janez
>> >
>> > On Thu, Jan 13, 2011 at 8:21 AM, Benoit Chesneau <bchesneau@gmail.com
>> >wrote:
>> >
>> >> did you try to add:
>> >>
>> >> {
>> >>
>> >> "from": ":db",
>> >> "to": "../.."
>> >> }
>> >>
>> >> ?
>> >>
>> >> - benoît
>> >>
>> >> On Mon, Jan 10, 2011 at 6:21 PM, Janez Štupar <janez.stupar@gmail.com>
>> >> wrote:
>> >> > Here is the problem I'm currently dabbling around with Sofa (got it
>> from
>> >> > jchrisa's Github)... To this end I'm reverse engineering it and trying
>> to
>> >> > get it work in a following scenario:
>> >> >
>> >> > The database is hidden behind following VHost: sofa.mycouch  ->
>> >> > /sofa/_design/sofa/_rewrite
>> >> >
>> >> > Since I wanted to improve the appearance of the URL's I also did some
>> >> > modifications to the rewrites, my current configuration is as follows:
>> >> >
>> >> > [
>> >> >   {
>> >> >       "to": "_list/index/recent-posts",
>> >> >       "from": "blog/",
>> >> >       "query": {
>> >> >           "limit": 10,
>> >> >           "descending": true
>> >> >       }
>> >> >   },
>> >> >   {
>> >> >       "to": "_list/:listname/*",
>> >> >       "from": "list/:listname/*",
>> >> >       "query": {
>> >> >           "limit": 10,
>> >> >           "descending": true
>> >> >       }
>> >> >   },
>> >> >   {
>> >> >        "to" : "_show/:showname/*",
>> >> >        "from" : "show/:showname/*"
>> >> >   },
>> >> >   {
>> >> >         "to" : "_update/:updatename/*",
>> >> >         "from" : "update/:updatename/*"
>> >> >   },
>> >> >   {
>> >> >       "to": "_list/index/recent-posts",
>> >> >       "from": "",
>> >> >       "query": {
>> >> >           "limit": 10,
>> >> >           "descending": true
>> >> >       }
>> >> >   },
>> >> >   {
>> >> >       "to": "script/*",
>> >> >       "from": "script/*"
>> >> >   },
>> >> >   {
>> >> >       "to": "style/*",
>> >> >       "from": "style/*"
>> >> >   },
>> >> >   {
>> >> >       "to": "vendor/*",
>> >> >       "from": "vendor/*"
>> >> >   },
>> >> >   {
>> >> >    "to": "../../*",
>> >> >    "from": ":db/*"
>> >> >   }
>> >> > ]
>> >> >
>> >> > The last problem I have left is that although everything works (I have
>> >> > indeed done some modifications to the templates, pathing function,
>> etc..
>> >> > nothing relevant to this current issue IMHO).
>> >> > *
>> >> > Except* one thing doesn't work as expected ... that is posting
>> comments.
>> >> I
>> >> > have kinda narrowed it down that when the browser sends a new blog
>> post
>> >> it
>> >> > does PUT to address:
>> '"/sofa/_design/sofa/_rewrite/sofa/spet-nov-post"'
>> >> > (spet-nov-post is a _id - according to jquery.couch.js)
>> >> >
>> >> > While comment gets POST -ed to following URL:
>> >> > '"/sofa/_design/sofa/_rewrite/sofa/"'
>> >> >
>> >> > what happens in the rewriter is following:
>> >> >
>> >> > 'PUT' /sofa/_design/sofa/_rewrite/sofa/spet-nov-post {1,1} -> 'PUT'
>> >> > /sofa/spet-nov-post?db=sofa {1,1}
>> >> > 'POST' /sofa/_design/sofa/_rewrite/sofa/ {1,1}  -> 'POST'
>> >> > /sofa/_design/..?db=sofa {1,1}
>> >> >
>> >> > I blame the following rewrite rule:
>> >> >   {
>> >> >    "to": "../../*",
>> >> >    "from": ":db/*"
>> >> >   }
>> >> >
>> >>
>> >
>> So using 2 rewrites rules work right ? (That what I suggested). For
>> content-type This is something expected i think. Will re-read this
>> separate issue later. Headers are not rewritten anyway.
>>
>> - benoît
>>
>
can you post it your rewrites and log somewhere (on friendpaste) for
eg, and post them here ? Logs aren't really readable on my mua.

- benoit

Mime
View raw message