diff --git a/src/couch_index_merger/src/couch_httpd_view_merger.erl b/src/couch_index_merger/src/couch_httpd_view_merger.erl index 9597cb3..1715632 100644 --- a/src/couch_index_merger/src/couch_httpd_view_merger.erl +++ b/src/couch_index_merger/src/couch_httpd_view_merger.erl @@ -370,13 +370,16 @@ parse_view_name(Name) -> {nil, nil, <<"_all_docs">>}; [DDocName, ViewName0] -> {nil, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; - ["_design", DDocName, ViewName0] -> + ["_design", DDocName0, ViewName0] -> + DDocName = couch_httpd:unquote(DDocName0), {nil, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; - [DDocDbName1, DDocName, ViewName0] -> + [DDocDbName1, DDocName0, ViewName0] -> DDocDbName = ?l2b(couch_httpd:unquote(DDocDbName1)), + DDocName = couch_httpd:unquote(DDocName0), {DDocDbName, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; - [DDocDbName1, "_design", DDocName, ViewName0] -> + [DDocDbName1, "_design", DDocName0, ViewName0] -> DDocDbName = ?l2b(couch_httpd:unquote(DDocDbName1)), + DDocName = couch_httpd:unquote(DDocName0), {DDocDbName, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; _ -> throw({bad_request, "A `view` property must have the shape" diff --git a/src/couch_index_merger/src/couch_view_merger.erl b/src/couch_index_merger/src/couch_view_merger.erl index 2f04c7a..4c10678 100644 --- a/src/couch_index_merger/src/couch_view_merger.erl +++ b/src/couch_index_merger/src/couch_view_merger.erl @@ -208,7 +208,7 @@ http_index_folder_req_details(#simple_index_spec{} = IndexSpec, MergeParams, _DD <<"_all_docs">> -> "_all_docs"; _ -> - ?b2l(DDocId) ++ "/_view/" ++ ?b2l(ViewName) + couch_httpd:quote(DDocId) ++ "/_view/" ++ couch_httpd:quote(ViewName) end ++ view_qs(ViewArgs, MergeParams), put(from_url, DbUrl), case Keys of