mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
client: exchange ClientConfig for SyncableHTTPClient
This commit is contained in:
parent
942f0f6b9e
commit
74fe28c5e0
@ -35,6 +35,15 @@ var (
|
|||||||
DefaultMaxRedirects = 10
|
DefaultMaxRedirects = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type ClientConfig struct {
|
||||||
|
Endpoints []string
|
||||||
|
Transport CancelableTransport
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(cfg ClientConfig) (SyncableHTTPClient, error) {
|
||||||
|
return newHTTPClusterClient(cfg.Transport, cfg.Endpoints)
|
||||||
|
}
|
||||||
|
|
||||||
type SyncableHTTPClient interface {
|
type SyncableHTTPClient interface {
|
||||||
HTTPClient
|
HTTPClient
|
||||||
Sync(context.Context) error
|
Sync(context.Context) error
|
||||||
@ -57,10 +66,6 @@ type CancelableTransport interface {
|
|||||||
CancelRequest(req *http.Request)
|
CancelRequest(req *http.Request)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHTTPClient(tr CancelableTransport, eps []string) (SyncableHTTPClient, error) {
|
|
||||||
return newHTTPClusterClient(tr, eps)
|
|
||||||
}
|
|
||||||
|
|
||||||
func newHTTPClusterClient(tr CancelableTransport, eps []string) (*httpClusterClient, error) {
|
func newHTTPClusterClient(tr CancelableTransport, eps []string) (*httpClusterClient, error) {
|
||||||
c := httpClusterClient{
|
c := httpClusterClient{
|
||||||
transport: tr,
|
transport: tr,
|
||||||
|
@ -117,7 +117,11 @@ func newDiscovery(durl, dproxyurl string, id types.ID) (*discovery, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
c, err := client.NewHTTPClient(&http.Transport{Proxy: pf}, []string{u.String()})
|
cfg := client.ClientConfig{
|
||||||
|
Transport: &http.Transport{Proxy: pf},
|
||||||
|
Endpoints: []string{u.String()},
|
||||||
|
}
|
||||||
|
c, err := client.New(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,12 @@ func mustNewMembersAPI(c *cli.Context) client.MembersAPI {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
hc, err := client.NewHTTPClient(tr, eps)
|
cfg := client.ClientConfig{
|
||||||
|
Transport: tr,
|
||||||
|
Endpoints: eps,
|
||||||
|
}
|
||||||
|
|
||||||
|
hc, err := client.New(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, err.Error())
|
fmt.Fprintln(os.Stderr, err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -614,12 +614,13 @@ func (m *member) Terminate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func mustNewHTTPClient(t *testing.T, eps []string) client.HTTPClient {
|
func mustNewHTTPClient(t *testing.T, eps []string) client.SyncableHTTPClient {
|
||||||
cc, err := client.NewHTTPClient(mustNewTransport(t), eps)
|
cc := client.ClientConfig{Transport: mustNewTransport(t), Endpoints: eps}
|
||||||
|
c, err := client.New(cc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
return cc
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
func mustNewTransport(t *testing.T) *http.Transport {
|
func mustNewTransport(t *testing.T) *http.Transport {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user