From 12286943839bb683f213d0497aa25676998cc789 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Thu, 20 Jun 2013 17:46:12 -0700 Subject: [PATCH] change response HTTP header to StatusServiceUnavailable when the server is not leader --- handlers.go | 3 ++- raftd.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/handlers.go b/handlers.go index 3e7073629..ce6167ae1 100644 --- a/handlers.go +++ b/handlers.go @@ -144,7 +144,8 @@ func excute(c Command, w *http.ResponseWriter) { } } else { // tell the client where is the leader - (*w).WriteHeader(http.StatusTemporaryRedirect) + debug("Redirect to the leader %s", server.Leader()) + (*w).WriteHeader(http.StatusServiceUnavailable) (*w).Write([]byte(server.Leader())) return } diff --git a/raftd.go b/raftd.go index ae9681268..6778acc69 100644 --- a/raftd.go +++ b/raftd.go @@ -379,7 +379,7 @@ func Join(s *raft.Server, serverName string) error { if resp.StatusCode == http.StatusOK { return nil } - if resp.StatusCode == http.StatusTemporaryRedirect { + if resp.StatusCode == http.StatusServiceUnavailable { address, err := ioutil.ReadAll(resp.Body) if err != nil { warn("Cannot Read Leader info: %v", err)