release-0.4
Xiang Li 2013-07-09 17:31:24 -07:00
parent a3173bfd31
commit 5271da3d19
4 changed files with 17 additions and 19 deletions

View File

@ -26,7 +26,7 @@ func Multiplexer(w http.ResponseWriter, req *http.Request) {
}
//--------------------------------------
// State sensitive handlers
// State sensitive handlers
// Set/Delte will dispatch to leader
//--------------------------------------
@ -76,7 +76,7 @@ func TestAndSetHttpHandler(w http.ResponseWriter, req *http.Request) {
warn("The given duration is not a number: %v", err)
w.WriteHeader(http.StatusInternalServerError)
}
dispatch(command, &w, req)
}
@ -146,7 +146,7 @@ func dispatch(c Command, w *http.ResponseWriter, req *http.Request) {
}
//--------------------------------------
// State non-sensitive handlers
// State non-sensitive handlers
// will not dispatch to leader
// TODO: add sensitive version for these
// command?
@ -259,15 +259,15 @@ func WatchHttpHandler(w http.ResponseWriter, req *http.Request) {
}
// Convert string duration to time format
func durationToExpireTime(strDuration string) (time.Time, error){
func durationToExpireTime(strDuration string) (time.Time, error) {
if strDuration != "" {
duration, err := strconv.Atoi(strDuration)
if err != nil {
return time.Unix(0, 0),err
return time.Unix(0, 0), err
}
return time.Now().Add(time.Second * (time.Duration)(duration)), nil
} else {
return time.Unix(0, 0), nil
}
}
}

17
etcd.go
View File

@ -147,7 +147,6 @@ func main() {
fatal("Please specify cert and key file or cert and key file and CAFile or none of the three")
}
// Create transporter for raft
raftTransporter = createTransporter(st)
@ -228,7 +227,7 @@ func main() {
}
// Create transporter using by raft server
// Create http or https transporter based on
// Create http or https transporter based on
// wether the user give the server cert and key
func createTransporter(st int) transporter {
t := transporter{}
@ -306,10 +305,10 @@ func startRaftTransport(port int, st int) {
// Start to listen and response client command
func startClientTransport(port int, st int) {
// external commands
http.HandleFunc("/" + version + "/keys/", Multiplexer)
http.HandleFunc("/" + version + "/watch/", WatchHttpHandler)
http.HandleFunc("/" + version + "/list/", ListHttpHandler)
http.HandleFunc("/" + version + "/testAndSet/", TestAndSetHttpHandler)
http.HandleFunc("/"+version+"/keys/", Multiplexer)
http.HandleFunc("/"+version+"/watch/", WatchHttpHandler)
http.HandleFunc("/"+version+"/list/", ListHttpHandler)
http.HandleFunc("/"+version+"/testAndSet/", TestAndSetHttpHandler)
http.HandleFunc("/leader", LeaderHttpHandler)
switch st {
@ -363,7 +362,7 @@ func securityType(source int) int {
}
// If the user do not specify key file, cert file and
// CA file, the type will be HTTP
// CA file, the type will be HTTP
if keyFile == "" && certFile == "" && CAFile == "" {
return HTTP
@ -372,12 +371,12 @@ func securityType(source int) int {
if keyFile != "" && certFile != "" {
if CAFile != "" {
// If the user specify all the three file, the type
// If the user specify all the three file, the type
// will be HTTPS with client cert auth
return HTTPSANDVERIFY
}
// If the user specify key file and cert file but not
// CA file, the type will be HTTPS without client cert
// CA file, the type will be HTTPS without client cert
// auth
return HTTPS
}

View File

@ -1,10 +1,10 @@
package main
import (
"net/http"
"strconv"
"encoding/json"
"github.com/coreos/go-raft"
"net/http"
"strconv"
)
//-------------------------------------------------------------
@ -19,7 +19,6 @@ func GetLogHttpHandler(w http.ResponseWriter, req *http.Request) {
json.NewEncoder(w).Encode(raftServer.LogEntries())
}
// Response to vote request
func VoteHttpHandler(w http.ResponseWriter, req *http.Request) {
rvreq := &raft.RequestVoteRequest{}

View File

@ -1,3 +1,3 @@
package main
var version = "v1"
var version = "v1"