diff --git a/server/v1/delete_key_handler.go b/server/v1/delete_key_handler.go index 561196b95..44fe459e4 100644 --- a/server/v1/delete_key_handler.go +++ b/server/v1/delete_key_handler.go @@ -8,7 +8,7 @@ import ( // Removes a key from the store. func DeleteKeyHandler(w http.ResponseWriter, req *http.Request, s Server) error { vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] c := s.Store().CommandFactory().CreateDeleteCommand(key, false) return s.Dispatch(c, w, req) } diff --git a/server/v1/get_key_handler.go b/server/v1/get_key_handler.go index 8664a56ae..880bf289e 100644 --- a/server/v1/get_key_handler.go +++ b/server/v1/get_key_handler.go @@ -10,7 +10,7 @@ import ( // Retrieves the value for a given key. func GetKeyHandler(w http.ResponseWriter, req *http.Request, s Server) error { vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] // Retrieve the key from the store. event, err := s.Store().Get(key, false, false) diff --git a/server/v1/set_key_handler.go b/server/v1/set_key_handler.go index b3ec7d68b..b1b4390a2 100644 --- a/server/v1/set_key_handler.go +++ b/server/v1/set_key_handler.go @@ -12,7 +12,7 @@ import ( // Sets the value for a given key. func SetKeyHandler(w http.ResponseWriter, req *http.Request, s Server) error { vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] req.ParseForm() diff --git a/server/v1/watch_key_handler.go b/server/v1/watch_key_handler.go index 5943924cc..de5ed0656 100644 --- a/server/v1/watch_key_handler.go +++ b/server/v1/watch_key_handler.go @@ -13,7 +13,7 @@ import ( func WatchKeyHandler(w http.ResponseWriter, req *http.Request, s Server) error { var err error vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] // Create a command to watch from a given index (default 0). var sinceIndex uint64 = 0 diff --git a/server/v2/delete_handler.go b/server/v2/delete_handler.go index 17030c757..7afc02f04 100644 --- a/server/v2/delete_handler.go +++ b/server/v2/delete_handler.go @@ -8,7 +8,7 @@ import ( func DeleteHandler(w http.ResponseWriter, req *http.Request, s Server) error { vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] recursive := (req.FormValue("recursive") == "true") c := s.Store().CommandFactory().CreateDeleteCommand(key, recursive) diff --git a/server/v2/get_handler.go b/server/v2/get_handler.go index 26128fc95..3e8ddee64 100644 --- a/server/v2/get_handler.go +++ b/server/v2/get_handler.go @@ -18,7 +18,7 @@ func GetHandler(w http.ResponseWriter, req *http.Request, s Server) error { var event *store.Event vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] // Help client to redirect the request to the current leader if req.FormValue("consistent") == "true" && s.State() != raft.Leader { diff --git a/server/v2/post_handler.go b/server/v2/post_handler.go index 59c119476..2338d0250 100644 --- a/server/v2/post_handler.go +++ b/server/v2/post_handler.go @@ -10,7 +10,7 @@ import ( func PostHandler(w http.ResponseWriter, req *http.Request, s Server) error { vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] value := req.FormValue("value") expireTime, err := store.TTL(req.FormValue("ttl")) diff --git a/server/v2/put_handler.go b/server/v2/put_handler.go index 19a55de05..5b61e58b3 100644 --- a/server/v2/put_handler.go +++ b/server/v2/put_handler.go @@ -15,7 +15,7 @@ func PutHandler(w http.ResponseWriter, req *http.Request, s Server) error { var c raft.Command vars := mux.Vars(req) - key := vars["key"] + key := "/" + vars["key"] req.ParseForm() diff --git a/tests/functional/v1_migration_test.go b/tests/functional/v1_migration_test.go index c99f7711a..415ff6ded 100644 --- a/tests/functional/v1_migration_test.go +++ b/tests/functional/v1_migration_test.go @@ -87,17 +87,17 @@ func TestV1ClusterMigration(t *testing.T) { time.Sleep(time.Second) } - time.Sleep(120 * time.Second) - // Ensure deleted message is removed. resp, err := tests.Get("http://localhost:4001/v2/keys/message") - tests.ReadBody(resp) + body := tests.ReadBody(resp) assert.Nil(t, err, "") - assert.Equal(t, resp.StatusCode, 404, "") + assert.Equal(t, resp.StatusCode, 400, ) + assert.Equal(t, string(body), `{"errorCode":100,"message":"Key Not Found","cause":"/message","index":11}`+"\n") // Ensure TTL'd message is removed. resp, err = tests.Get("http://localhost:4001/v2/keys/foo") - tests.ReadBody(resp) + body = tests.ReadBody(resp) assert.Nil(t, err, "") - assert.Equal(t, resp.StatusCode, 404, "") + assert.Equal(t, resp.StatusCode, 200, "") + assert.Equal(t, string(body), `{"action":"get","key":"/foo","value":"one","modifiedIndex":9}`) }