summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/www/script/test/basics.js6
-rw-r--r--src/couchdb/couch_httpd_db.erl2
2 files changed, 7 insertions, 1 deletions
diff --git a/share/www/script/test/basics.js b/share/www/script/test/basics.js
index 217f9aef..ebfe5db2 100644
--- a/share/www/script/test/basics.js
+++ b/share/www/script/test/basics.js
@@ -28,6 +28,12 @@ couchTests.basics = function(debug) {
T(xhr.status == 412);
if (debug) debugger;
+ // creating a new DB should return Location header
+ xhr = CouchDB.request("DELETE", "/new-db");
+ xhr = CouchDB.request("PUT", "/new-db");
+ TEquals("/new-db", xhr.getResponseHeader("Location"),
+ "should return newly created database name in location header");
+
// Get the database info, check the db_name
T(db.info().db_name == "test_suite_db");
diff --git a/src/couchdb/couch_httpd_db.erl b/src/couchdb/couch_httpd_db.erl
index 2bfc2940..92ad98c8 100644
--- a/src/couchdb/couch_httpd_db.erl
+++ b/src/couchdb/couch_httpd_db.erl
@@ -56,7 +56,7 @@ create_db_req(#httpd{user_ctx=UserCtx}=Req, DbName) ->
case couch_server:create(DbName, [{user_ctx, UserCtx}]) of
{ok, Db} ->
couch_db:close(Db),
- send_json(Req, 201, {[{ok, true}]});
+ send_json(Req, 201, [{"Location", "/" ++ DbName}], {[{ok, true}]});
Error ->
throw(Error)
end.