godeps: update vmware/govmomi to v0.20 release
This commit is contained in:
20
vendor/github.com/vmware/govmomi/vapi/rest/client.go
generated
vendored
20
vendor/github.com/vmware/govmomi/vapi/rest/client.go
generated
vendored
@@ -43,6 +43,16 @@ func NewClient(c *vim25.Client) *Client {
|
||||
return &Client{sc}
|
||||
}
|
||||
|
||||
type Signer interface {
|
||||
SignRequest(*http.Request) error
|
||||
}
|
||||
|
||||
type signerContext struct{}
|
||||
|
||||
func (c *Client) WithSigner(ctx context.Context, s Signer) context.Context {
|
||||
return context.WithValue(ctx, signerContext{}, s)
|
||||
}
|
||||
|
||||
// Do sends the http.Request, decoding resBody if provided.
|
||||
func (c *Client) Do(ctx context.Context, req *http.Request, resBody interface{}) error {
|
||||
switch req.Method {
|
||||
@@ -52,6 +62,12 @@ func (c *Client) Do(ctx context.Context, req *http.Request, resBody interface{})
|
||||
|
||||
req.Header.Set("Accept", "application/json")
|
||||
|
||||
if s, ok := ctx.Value(signerContext{}).(Signer); ok {
|
||||
if err := s.SignRequest(req); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return c.Client.Do(ctx, req, func(res *http.Response) error {
|
||||
switch res.StatusCode {
|
||||
case http.StatusOK:
|
||||
@@ -98,6 +114,10 @@ func (c *Client) Login(ctx context.Context, user *url.Userinfo) error {
|
||||
return c.Do(ctx, req, nil)
|
||||
}
|
||||
|
||||
func (c *Client) LoginByToken(ctx context.Context) error {
|
||||
return c.Login(ctx, nil)
|
||||
}
|
||||
|
||||
// Logout deletes the current session.
|
||||
func (c *Client) Logout(ctx context.Context) error {
|
||||
req := internal.URL(c, internal.SessionPath).Request(http.MethodDelete)
|
||||
|
Reference in New Issue
Block a user