Browse Source

etcdserver: change raft endpoint to send StatusNoContent

Jonathan Boulle 11 years ago
parent
commit
7ac3b32de6

+ 1 - 1
etcdserver/etcdhttp/http.go

@@ -136,7 +136,7 @@ func (h serverHandler) serveRaft(w http.ResponseWriter, r *http.Request) {
 		writeError(w, err)
 		writeError(w, err)
 		return
 		return
 	}
 	}
-	w.WriteHeader(http.StatusOK)
+	w.WriteHeader(http.StatusNoContent)
 }
 }
 
 
 // genID generates a random id that is: n < 0 < n.
 // genID generates a random id that is: n < 0 < n.

+ 6 - 7
etcdserver/etcdhttp/http_test.go

@@ -814,7 +814,7 @@ func TestServeRaft(t *testing.T) {
 				),
 				),
 			),
 			),
 			nil,
 			nil,
-			http.StatusOK,
+			http.StatusNoContent,
 		},
 		},
 	}
 	}
 	for i, tt := range testCases {
 	for i, tt := range testCases {
@@ -822,14 +822,13 @@ func TestServeRaft(t *testing.T) {
 		if err != nil {
 		if err != nil {
 			t.Fatalf("#%d: could not create request: %#v", i, err)
 			t.Fatalf("#%d: could not create request: %#v", i, err)
 		}
 		}
-		h := Handler{
-			Timeout: time.Hour,
-			Server:  &errServer{tt.serverErr},
-			Peers:   nil,
+		h := &serverHandler{
+			timeout: time.Hour,
+			server:  &errServer{tt.serverErr},
+			peers:   nil,
 		}
 		}
-		c := context.Background()
 		rw := httptest.NewRecorder()
 		rw := httptest.NewRecorder()
-		h.serveRaft(c, rw, req)
+		h.serveRaft(rw, req)
 		if rw.Code != tt.wcode {
 		if rw.Code != tt.wcode {
 			t.Errorf("#%d: got code=%d, want %d", i, rw.Code, tt.wcode)
 			t.Errorf("#%d: got code=%d, want %d", i, rw.Code, tt.wcode)
 		}
 		}

+ 1 - 1
etcdserver/etcdhttp/peers.go

@@ -131,7 +131,7 @@ func httpPost(url string, data []byte) bool {
 		return false
 		return false
 	}
 	}
 	resp.Body.Close()
 	resp.Body.Close()
-	if resp.StatusCode != 200 {
+	if resp.StatusCode != http.StatusNoContent {
 		elog.TODO()
 		elog.TODO()
 		return false
 		return false
 	}
 	}

+ 9 - 2
etcdserver/etcdhttp/peers_test.go

@@ -124,14 +124,21 @@ func TestHttpPost(t *testing.T) {
 		{
 		{
 			http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 			http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 				tr = r
 				tr = r
-				w.WriteHeader(200)
+				w.WriteHeader(http.StatusNoContent)
 			}),
 			}),
 			true,
 			true,
 		},
 		},
 		{
 		{
 			http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 			http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 				tr = r
 				tr = r
-				w.WriteHeader(404)
+				w.WriteHeader(http.StatusNotFound)
+			}),
+			false,
+		},
+		{
+			http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+				tr = r
+				w.WriteHeader(http.StatusInternalServerError)
 			}),
 			}),
 			false,
 			false,
 		},
 		},