Browse Source

etcdhttp: writeEvent -> writeKeyEvent

Yicheng Qin 11 years ago
parent
commit
06b196e345
2 changed files with 8 additions and 8 deletions
  1. 6 6
      etcdserver/etcdhttp/http.go
  2. 2 2
      etcdserver/etcdhttp/http_test.go

+ 6 - 6
etcdserver/etcdhttp/http.go

@@ -122,8 +122,7 @@ func (h serverHandler) serveKeys(w http.ResponseWriter, r *http.Request) {
 
 	switch {
 	case resp.Event != nil:
-		ev := trimEventPrefix(resp.Event, etcdserver.StoreKeysPrefix)
-		if err := writeEvent(w, ev, h.timer); err != nil {
+		if err := writeKeyEvent(w, resp.Event, h.timer); err != nil {
 			// Should never be reached
 			log.Printf("error writing event: %v", err)
 		}
@@ -427,10 +426,10 @@ func writeError(w http.ResponseWriter, err error) {
 	}
 }
 
-// writeEvent serializes a single Event and writes the resulting
-// JSON to the given ResponseWriter, along with the appropriate
-// headers
-func writeEvent(w http.ResponseWriter, ev *store.Event, rt etcdserver.RaftTimer) error {
+// writeKeyEvent trims the prefix of key path in a single Event under
+// StoreKeysPrefix, serializes it and writes the resulting JSON to the given
+// ResponseWriter, along with the appropriate headers.
+func writeKeyEvent(w http.ResponseWriter, ev *store.Event, rt etcdserver.RaftTimer) error {
 	if ev == nil {
 		return errors.New("cannot write empty Event!")
 	}
@@ -443,6 +442,7 @@ func writeEvent(w http.ResponseWriter, ev *store.Event, rt etcdserver.RaftTimer)
 		w.WriteHeader(http.StatusCreated)
 	}
 
+	ev = trimEventPrefix(ev, etcdserver.StoreKeysPrefix)
 	return json.NewEncoder(w).Encode(ev)
 }
 

+ 2 - 2
etcdserver/etcdhttp/http_test.go

@@ -526,7 +526,7 @@ func (drt dummyRaftTimer) Term() uint64  { return uint64(5) }
 func TestWriteEvent(t *testing.T) {
 	// nil event should not panic
 	rw := httptest.NewRecorder()
-	writeEvent(rw, nil, dummyRaftTimer{})
+	writeKeyEvent(rw, nil, dummyRaftTimer{})
 	h := rw.Header()
 	if len(h) > 0 {
 		t.Fatalf("unexpected non-empty headers: %#v", h)
@@ -569,7 +569,7 @@ func TestWriteEvent(t *testing.T) {
 
 	for i, tt := range tests {
 		rw := httptest.NewRecorder()
-		writeEvent(rw, tt.ev, dummyRaftTimer{})
+		writeKeyEvent(rw, tt.ev, dummyRaftTimer{})
 		if gct := rw.Header().Get("Content-Type"); gct != "application/json" {
 			t.Errorf("case %d: bad Content-Type: got %q, want application/json", i, gct)
 		}