mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
commit
115dbdb927
@ -14,13 +14,14 @@ import (
|
||||
// Multiplex GET/POST/DELETE request to corresponding handlers
|
||||
func Multiplexer(w http.ResponseWriter, req *http.Request) {
|
||||
|
||||
if req.Method == "GET" {
|
||||
switch req.Method {
|
||||
case "GET":
|
||||
GetHttpHandler(&w, req)
|
||||
} else if req.Method == "POST" {
|
||||
case "POST":
|
||||
SetHttpHandler(&w, req)
|
||||
} else if req.Method == "DELETE" {
|
||||
case "DELETE":
|
||||
DeleteHttpHandler(&w, req)
|
||||
} else {
|
||||
default:
|
||||
w.WriteHeader(http.StatusMethodNotAllowed)
|
||||
return
|
||||
}
|
||||
@ -69,18 +70,22 @@ func SetHttpHandler(w *http.ResponseWriter, req *http.Request) {
|
||||
}
|
||||
|
||||
if len(prevValue) != 0 {
|
||||
command := &TestAndSetCommand{}
|
||||
command.Key = key
|
||||
command.Value = value
|
||||
command.PrevValue = prevValue
|
||||
command.ExpireTime = expireTime
|
||||
command := &TestAndSetCommand{
|
||||
Key: key,
|
||||
Value: value,
|
||||
PrevValue: prevValue,
|
||||
ExpireTime: expireTime,
|
||||
}
|
||||
|
||||
dispatch(command, w, req, true)
|
||||
|
||||
} else {
|
||||
command := &SetCommand{}
|
||||
command.Key = key
|
||||
command.Value = value
|
||||
command.ExpireTime = expireTime
|
||||
command := &SetCommand{
|
||||
Key: key,
|
||||
Value: value,
|
||||
ExpireTime: expireTime,
|
||||
}
|
||||
|
||||
dispatch(command, w, req, true)
|
||||
}
|
||||
|
||||
@ -92,8 +97,9 @@ func DeleteHttpHandler(w *http.ResponseWriter, req *http.Request) {
|
||||
|
||||
debugf("[recv] DELETE http://%v/v1/keys/%s", raftServer.Name(), key)
|
||||
|
||||
command := &DeleteCommand{}
|
||||
command.Key = key
|
||||
command := &DeleteCommand{
|
||||
Key: key,
|
||||
}
|
||||
|
||||
dispatch(command, w, req, true)
|
||||
}
|
||||
@ -243,8 +249,9 @@ func GetHttpHandler(w *http.ResponseWriter, req *http.Request) {
|
||||
|
||||
debugf("[recv] GET http://%v/v1/keys/%s", raftServer.Name(), key)
|
||||
|
||||
command := &GetCommand{}
|
||||
command.Key = key
|
||||
command := &GetCommand{
|
||||
Key: key,
|
||||
}
|
||||
|
||||
if body, err := command.Apply(raftServer); err != nil {
|
||||
|
||||
@ -274,8 +281,9 @@ func GetHttpHandler(w *http.ResponseWriter, req *http.Request) {
|
||||
func WatchHttpHandler(w http.ResponseWriter, req *http.Request) {
|
||||
key := req.URL.Path[len("/v1/watch/"):]
|
||||
|
||||
command := &WatchCommand{}
|
||||
command.Key = key
|
||||
command := &WatchCommand{
|
||||
Key: key,
|
||||
}
|
||||
|
||||
if req.Method == "GET" {
|
||||
debugf("[recv] GET http://%v/watch/%s", raftServer.Name(), key)
|
||||
|
Loading…
x
Reference in New Issue
Block a user