This is an automated email from the ASF dual-hosted git repository. garren pushed a commit to branch partition-add-post in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit a3a105ccbec3332edc6955579e6a1e14b5c4c427 Author: Garren Smith <[email protected]> AuthorDate: Thu Aug 30 11:34:20 2018 +0200 add POST support for keys for views --- src/chttpd/src/chttpd_view.erl | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/chttpd/src/chttpd_view.erl b/src/chttpd/src/chttpd_view.erl index 627663c..557f2b6 100644 --- a/src/chttpd/src/chttpd_view.erl +++ b/src/chttpd/src/chttpd_view.erl @@ -106,6 +106,25 @@ handle_temp_view_req(Req, _Db) -> chttpd:send_error(Req, 410, gone, Msg). +handle_partition_view_req(#httpd{method='POST', + path_parts=[_, _, _, _, _, _, ViewName]} = Req, Db, DDoc, Partition) -> + chttpd:validate_ctype(Req, "application/json"), + Props = couch_httpd:json_body_obj(Req), + Keys = couch_mrview_util:get_view_keys(Props), + case Keys of + Keys when is_list(Keys) -> + couch_stats:increment_counter([couchdb, httpd, view_reads]), + Args = couch_mrview_http:parse_params(Req, Keys), + Args1 = couch_mrview_util:set_extra(Args, partition, Partition), + Args2 = couch_mrview_util:set_extra(Args1, partitioned, true), + design_doc_view_int(Req, Db, DDoc, ViewName, Args2); + _ -> + throw({ + bad_request, + "POST body must contain `keys` field" + }) + end; + handle_partition_view_req(#httpd{method='GET', path_parts=[_, _, _, _, _, _, ViewName]} = Req, Db, DDoc, Partition) -> Keys = chttpd:qs_json_value(Req, "keys", undefined),
