leasehttp: move lease/http.go to its own pkg

This commit is contained in:
Xiang Li 2016-01-25 06:09:54 +08:00
parent 8905632837
commit 5e2dbadbc0
3 changed files with 10 additions and 8 deletions

View File

@ -19,7 +19,7 @@ import (
"net/http" "net/http"
"github.com/coreos/etcd/etcdserver" "github.com/coreos/etcd/etcdserver"
"github.com/coreos/etcd/lease" "github.com/coreos/etcd/lease/leasehttp"
"github.com/coreos/etcd/rafthttp" "github.com/coreos/etcd/rafthttp"
) )
@ -32,7 +32,7 @@ const (
func NewPeerHandler(s *etcdserver.EtcdServer) http.Handler { func NewPeerHandler(s *etcdserver.EtcdServer) http.Handler {
var lh http.Handler var lh http.Handler
if l := s.Lessor(); l != nil { if l := s.Lessor(); l != nil {
lh = lease.NewHandler(l) lh = leasehttp.NewHandler(l)
} }
return newPeerHandler(s.Cluster(), s.RaftHandler(), lh) return newPeerHandler(s.Cluster(), s.RaftHandler(), lh)
} }

View File

@ -24,6 +24,7 @@ import (
"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context" "github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
pb "github.com/coreos/etcd/etcdserver/etcdserverpb" pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
"github.com/coreos/etcd/lease" "github.com/coreos/etcd/lease"
"github.com/coreos/etcd/lease/leasehttp"
dstorage "github.com/coreos/etcd/storage" dstorage "github.com/coreos/etcd/storage"
"github.com/coreos/etcd/storage/storagepb" "github.com/coreos/etcd/storage/storagepb"
) )
@ -139,7 +140,7 @@ func (s *EtcdServer) LeaseRenew(id lease.LeaseID) (int64, error) {
for _, url := range leader.PeerURLs { for _, url := range leader.PeerURLs {
lurl := url + "/leases" lurl := url + "/leases"
ttl, err = lease.RenewHTTP(id, lurl, s.cfg.PeerTLSInfo, s.cfg.peerDialTimeout()) ttl, err = leasehttp.RenewHTTP(id, lurl, s.cfg.PeerTLSInfo, s.cfg.peerDialTimeout())
if err == nil { if err == nil {
break break
} }

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package lease package leasehttp
import ( import (
"bytes" "bytes"
@ -22,15 +22,16 @@ import (
"time" "time"
pb "github.com/coreos/etcd/etcdserver/etcdserverpb" pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
"github.com/coreos/etcd/lease"
"github.com/coreos/etcd/pkg/transport" "github.com/coreos/etcd/pkg/transport"
) )
// NewHandler returns an http Handler for lease renewals // NewHandler returns an http Handler for lease renewals
func NewHandler(l Lessor) http.Handler { func NewHandler(l lease.Lessor) http.Handler {
return &leaseHandler{l} return &leaseHandler{l}
} }
type leaseHandler struct{ l Lessor } type leaseHandler struct{ l lease.Lessor }
func (h *leaseHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { func (h *leaseHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" { if r.Method != "POST" {
@ -50,7 +51,7 @@ func (h *leaseHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
return return
} }
ttl, err := h.l.Renew(LeaseID(lreq.ID)) ttl, err := h.l.Renew(lease.LeaseID(lreq.ID))
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest) http.Error(w, err.Error(), http.StatusBadRequest)
return return
@ -69,7 +70,7 @@ func (h *leaseHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
} }
// RenewHTTP renews a lease at a given primary server. // RenewHTTP renews a lease at a given primary server.
func RenewHTTP(id LeaseID, url string, tlsInfo transport.TLSInfo, timeout time.Duration) (int64, error) { func RenewHTTP(id lease.LeaseID, url string, tlsInfo transport.TLSInfo, timeout time.Duration) (int64, error) {
// will post lreq protobuf to leader // will post lreq protobuf to leader
lreq, err := (&pb.LeaseKeepAliveRequest{ID: int64(id)}).Marshal() lreq, err := (&pb.LeaseKeepAliveRequest{ID: int64(id)}).Marshal()
if err != nil { if err != nil {