summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Avdey <eiri@eiri.ca>2017-10-30 14:07:57 -0300
committerEric Avdey <eiri@eiri.ca>2017-10-30 14:54:25 -0300
commit28fae4d11633c5d0b015f12b4cc77a8b26032907 (patch)
tree90550e2be60f5fe02c548560e06c0eff1b6bc374
parent091a4082ffc8993ddbd1968d2487f084a837e37a (diff)
downloadcouchdb-28fae4d11633c5d0b015f12b4cc77a8b26032907.tar.gz
Return error 410 on temporary view request
-rw-r--r--src/chttpd/src/chttpd_view.erl2
-rw-r--r--test/javascript/tests/view_errors.js12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/chttpd/src/chttpd_view.erl b/src/chttpd/src/chttpd_view.erl
index 52c96cd3b..0aaa849a5 100644
--- a/src/chttpd/src/chttpd_view.erl
+++ b/src/chttpd/src/chttpd_view.erl
@@ -82,7 +82,7 @@ handle_view_req(Req, _Db, _DDoc) ->
handle_temp_view_req(Req, _Db) ->
Msg = <<"Temporary views are not supported in CouchDB">>,
- chttpd:send_error(Req, 403, forbidden, Msg).
+ chttpd:send_error(Req, 410, gone, Msg).
diff --git a/test/javascript/tests/view_errors.js b/test/javascript/tests/view_errors.js
index 0d9cd79fb..dd60292a3 100644
--- a/test/javascript/tests/view_errors.js
+++ b/test/javascript/tests/view_errors.js
@@ -185,6 +185,18 @@ couchTests.view_errors = function(debug) {
T(e.error == "query_parse_error");
T(e.reason.match(/no rows can match/i));
}
+
+ // querying a temporary view should give "gone" error message
+ var xhr = CouchDB.request("POST", "/" + db_name + "/_temp_view", {
+ headers: {"Content-Type": "application/json"},
+ body: JSON.stringify({language: "javascript",
+ map : "function(doc){emit(doc.integer)}"
+ })
+ });
+ T(xhr.status == 410);
+ result = JSON.parse(xhr.responseText);
+ T(result.error == "gone");
+ T(result.reason == "Temporary views are not supported in CouchDB");
// });
// cleanup