You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2009/05/06 17:51:01 UTC
svn commit: r772325 - in /couchdb/branches/0.9.x: ./ etc/default/couchdb
share/www/script/test/basics.js share/www/script/test/view_errors.js
src/couchdb/couch_httpd_db.erl src/couchdb/couch_httpd_view.erl
Author: davisp
Date: Wed May 6 15:51:01 2009
New Revision: 772325
URL: http://svn.apache.org/viewvc?rev=772325&view=rev
Log:
Un-backporting 766373
Modified:
couchdb/branches/0.9.x/ (props changed)
couchdb/branches/0.9.x/etc/default/couchdb (props changed)
couchdb/branches/0.9.x/share/www/script/test/basics.js
couchdb/branches/0.9.x/share/www/script/test/view_errors.js
couchdb/branches/0.9.x/src/couchdb/couch_httpd_db.erl
couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl
Propchange: couchdb/branches/0.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed May 6 15:51:01 2009
@@ -1,3 +1,3 @@
/couchdb/branches/design_resources:751716-751803
/couchdb/branches/form:729440-730015
-/couchdb/trunk:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420,765479,766353,766358,766373,766505,767543,768573,769109,771472
+/couchdb/trunk:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420,765479,766353,766358,766505,767543,768573,769109,771472
Propchange: couchdb/branches/0.9.x/etc/default/couchdb
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed May 6 15:51:01 2009
@@ -1,4 +1,4 @@
/couchdb/branches/design_resources/etc/default/couchdb:751716-751803
/couchdb/branches/form/etc/default/couchdb:729440-730015
-/couchdb/trunk/etc/default/couchdb:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420,765479,766353,766358,766373,766505,767543,768573,769109,771472
+/couchdb/trunk/etc/default/couchdb:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420,765479,766353,766358,766505,767543,768573,769109,771472
/incubator/couchdb/trunk/etc/default/couchdb:642419-694440
Modified: couchdb/branches/0.9.x/share/www/script/test/basics.js
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/share/www/script/test/basics.js?rev=772325&r1=772324&r2=772325&view=diff
==============================================================================
--- couchdb/branches/0.9.x/share/www/script/test/basics.js (original)
+++ couchdb/branches/0.9.x/share/www/script/test/basics.js Wed May 6 15:51:01 2009
@@ -145,32 +145,4 @@
// deleting a non-existent doc should be 404
xhr = CouchDB.request("DELETE", "/test_suite_db/doc-does-not-exist");
T(xhr.status == 404);
-
- // Check some common error responses.
- // PUT body not an object
- xhr = CouchDB.request("PUT", "/test_suite_db/bar", {body: "[]"});
- T(xhr.status == 400);
- result = JSON.parse(xhr.responseText);
- T(result.error == "bad_request");
- T(result.reason == "Document must be a JSON object");
-
- // Body of a _bulk_docs is not an object
- xhr = CouchDB.request("POST", "/test_suite_db/_bulk_docs", {body: "[]"});
- T(xhr.status == 400);
- result = JSON.parse(xhr.responseText);
- T(result.error == "bad_request");
- T(result.reason == "Body must be a JSON object");
-
- // Body of an _all_docs multi-get is not a {"key": [...]} structure.
- xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: "[]"});
- T(xhr.status == 400);
- result = JSON.parse(xhr.responseText);
- T(result.error == "bad_request");
- T(result.reason == "Body must be a JSON object");
- var data = "{\"keys\": 1}";
- xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body:data});
- T(xhr.status == 400);
- result = JSON.parse(xhr.responseText);
- T(result.error == "bad_request");
- T(result.reason == "`keys` member must be a array.");
};
Modified: couchdb/branches/0.9.x/share/www/script/test/view_errors.js
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/share/www/script/test/view_errors.js?rev=772325&r1=772324&r2=772325&view=diff
==============================================================================
--- couchdb/branches/0.9.x/share/www/script/test/view_errors.js (original)
+++ couchdb/branches/0.9.x/share/www/script/test/view_errors.js Wed May 6 15:51:01 2009
@@ -86,18 +86,4 @@
} catch(e) {
T(e.error == "query_parse_error");
}
-
- // Check error responses for invalid multi-get bodies.
- var path = "/test_suite_db/_design/test/_view/no_reduce";
- var xhr = CouchDB.request("POST", path, {body: "[]"});
- T(xhr.status == 400);
- result = JSON.parse(xhr.responseText);
- T(result.error == "bad_request");
- T(result.reason == "Body must be a JSON object");
- var data = "{\"keys\": 1}";
- xhr = CouchDB.request("POST", path, {body:data});
- T(xhr.status == 400);
- result = JSON.parse(xhr.responseText);
- T(result.error == "bad_request");
- T(result.reason == "`keys` member must be a array.");
};
Modified: couchdb/branches/0.9.x/src/couchdb/couch_httpd_db.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/src/couchdb/couch_httpd_db.erl?rev=772325&r1=772324&r2=772325&view=diff
==============================================================================
--- couchdb/branches/0.9.x/src/couchdb/couch_httpd_db.erl (original)
+++ couchdb/branches/0.9.x/src/couchdb/couch_httpd_db.erl Wed May 6 15:51:01 2009
@@ -113,13 +113,7 @@
db_req(#httpd{method='POST',path_parts=[_,<<"_bulk_docs">>]}=Req, Db) ->
couch_stats_collector:increment({httpd, bulk_requests}),
- JsonProps =
- case couch_httpd:json_body(Req) of
- {Fields} ->
- Fields;
- _ ->
- throw({bad_request, "Body must be a JSON object"})
- end,
+ {JsonProps} = couch_httpd:json_body(Req),
DocsArray = proplists:get_value(<<"docs">>, JsonProps),
case couch_httpd:header_value(Req, "X-Couch-Full-Commit", "false") of
"true" ->
@@ -220,20 +214,9 @@
all_docs_view(Req, Db, nil);
db_req(#httpd{method='POST',path_parts=[_,<<"_all_docs">>]}=Req, Db) ->
- case couch_httpd:json_body(Req) of
- {Fields} ->
- case proplists:get_value(<<"keys">>, Fields, nil) of
- nil ->
- ?LOG_DEBUG("POST to _all_docs with no keys member.", []),
- all_docs_view(Req, Db, nil);
- Keys when is_list(Keys) ->
- all_docs_view(Req, Db, Keys);
- _ ->
- throw({bad_request, "`keys` member must be a array."})
- end;
- _ ->
- throw({bad_request, "Body must be a JSON object"})
- end;
+ {Props} = couch_httpd:json_body(Req),
+ Keys = proplists:get_value(<<"keys">>, Props, nil),
+ all_docs_view(Req, Db, Keys);
db_req(#httpd{path_parts=[_,<<"_all_docs">>]}=Req, _Db) ->
send_method_not_allowed(Req, "GET,HEAD,POST");
Modified: couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl?rev=772325&r1=772324&r2=772325&view=diff
==============================================================================
--- couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl (original)
+++ couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl Wed May 6 15:51:01 2009
@@ -55,21 +55,9 @@
handle_view_req(#httpd{method='POST',
path_parts=[_Db, _Design, DName, _View, ViewName]}=Req, Db) ->
- case couch_httpd:json_body(Req) of
- {Fields} ->
- case proplists:get_value(<<"keys">>, Fields, nil) of
- nil ->
- Fmt = "POST to view ~p/~p in database ~p with no keys member.",
- ?LOG_DEBUG(Fmt, [DName, ViewName, Db]),
- design_doc_view(Req, Db, DName, ViewName, nil);
- Keys when is_list(Keys) ->
- design_doc_view(Req, Db, DName, ViewName, Keys);
- _ ->
- throw({bad_request, "`keys` member must be a array."})
- end;
- _ ->
- throw({bad_request, "Body must be a JSON object"})
- end;
+ {Props} = couch_httpd:json_body(Req),
+ Keys = proplists:get_value(<<"keys">>, Props, nil),
+ design_doc_view(Req, Db, DName, ViewName, Keys);
handle_view_req(Req, _Db) ->
send_method_not_allowed(Req, "GET,POST,HEAD").