mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
leasehttp: move lease/http.go to its own pkg
This commit is contained in:
parent
8905632837
commit
5e2dbadbc0
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
Loading…
x
Reference in New Issue
Block a user