Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 17015 invoked from network); 13 Jan 2011 15:18:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 13 Jan 2011 15:18:29 -0000 Received: (qmail 61000 invoked by uid 500); 13 Jan 2011 15:18:28 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 60668 invoked by uid 500); 13 Jan 2011 15:18:25 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 60655 invoked by uid 99); 13 Jan 2011 15:18:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Jan 2011 15:18:23 +0000 X-ASF-Spam-Status: No, hits=1.5 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of janez.stupar@gmail.com designates 209.85.214.180 as permitted sender) Received: from [209.85.214.180] (HELO mail-iw0-f180.google.com) (209.85.214.180) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Jan 2011 15:18:15 +0000 Received: by iwn37 with SMTP id 37so1790291iwn.11 for ; Thu, 13 Jan 2011 07:17:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=42HVVMuz5FU+lUkdPQgKQrUewPi2ArzHka51QT6K0X4=; b=U0D4hskgg0OlRwcVqdRS2dmMWUj8xqxNx399yVs9ZTyPUSBUvE7p16v7yWNDP5Ak8k Hhkc5AWI2SCHOYkW88e8BNSOYdxEPG0HcfK00XRLxxVR0mCHqMzgdKdFrQTyZWBfUB+6 FaBGZvyvZL/HSGQNjZDWLLnK9AjrnRNE9wcqI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=AlRw6nH6XY6+bwL4ZEluoJ7skKBalse4CKlVOLGEuqP8b8AWZni8gZ0OWN9NzI0io7 VbaqVHiQPb5R9WpavaRpkgQBFOAgIaj3i1S9Fu9SvIy/kqNLS2KEWlc5jUvoO4Jk4Ekm WFJaS9u7SpjQBchjBBmqNHLlxLgr9ZGkJ1cME= MIME-Version: 1.0 Received: by 10.231.206.131 with SMTP id fu3mr2474303ibb.98.1294931873478; Thu, 13 Jan 2011 07:17:53 -0800 (PST) Received: by 10.231.14.139 with HTTP; Thu, 13 Jan 2011 07:17:53 -0800 (PST) In-Reply-To: References: Date: Thu, 13 Jan 2011 16:17:53 +0100 Message-ID: Subject: Re: Strange issue with VHosts and rewrites... From: =?UTF-8?Q?Janez_=C5=A0tupar?= To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=90e6ba4fc23c53b9c90499bbd2be X-Virus-Checked: Checked by ClamAV on apache.org --90e6ba4fc23c53b9c90499bbd2be Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Beno=C3=AEt, 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-505a221d0aef5d6= 64f29d6afdae01293"} # 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=3Dtest" [Mon, 10 Jan 2011 21:51:55 GMT] [debug] [<0.9453.3>] 'POST' /test/_design/..?db=3Dtest {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=3Dtest 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-505a221d0aef5d6= 64f29d6afdae01293"} # 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=3Dtest" [Mon, 10 Jan 2011 22:06:17 GMT] [debug] [<0.10262.3>] 'POST' /test/_design/..?db=3Dtest {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=3Dtest 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-505a221d0aef5d6= 64f29d6afdae01293"} # 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=3Dtest" [Mon, 10 Jan 2011 22:19:55 GMT] [debug] [<0.11199.3>] 'POST' /test/_design/..?db=3Dtest {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=3Dtest 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 th= e 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 wrote= : > did you try to add: > > { > > "from": ":db", > "to": "../.." > } > > ? > > - beno=C3=AEt > > On Mon, Jan 10, 2011 at 6:21 PM, Janez =C5=A0tupar > wrote: > > Here is the problem I'm currently dabbling around with Sofa (got it fro= m > > 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=3Dsofa {1,1} > > 'POST' /sofa/_design/sofa/_rewrite/sofa/ {1,1} -> 'POST' > > /sofa/_design/..?db=3Dsofa {1,1} > > > > I blame the following rewrite rule: > > { > > "to": "../../*", > > "from": ":db/*" > > } > > > --90e6ba4fc23c53b9c90499bbd2be--