Documentation
¶
Index ¶
- Constants
- func IsStatusError(err error, code int) bool
- type Client
- func (c *Client) Do(ctx context.Context, req *http.Request, resBody interface{}) error
- func (c *Client) Download(ctx context.Context, u *url.URL, param *soap.Download) (io.ReadCloser, int64, error)
- func (c *Client) DownloadFile(ctx context.Context, file string, u *url.URL, param *soap.Download) error
- func (c *Client) Login(ctx context.Context, user *url.Userinfo) error
- func (c *Client) LoginByToken(ctx context.Context) error
- func (c *Client) Logout(ctx context.Context) error
- func (c *Client) MarshalJSON() ([]byte, error)
- func (c *Client) Path() string
- func (c *Client) Resource(path string) *Resource
- func (c *Client) Session(ctx context.Context) (*Session, error)
- func (c *Client) SessionID(id ...string) string
- func (c *Client) UnmarshalJSON(b []byte) error
- func (c *Client) Upload(ctx context.Context, f io.Reader, u *url.URL, param *soap.Upload) error
- func (c *Client) Valid() bool
- func (c *Client) WithHeader(ctx context.Context, headers http.Header) context.Context
- func (c *Client) WithSigner(ctx context.Context, s Signer) context.Context
- type LocalizableMessage
- type RawResponse
- type Resource
- func (r *Resource) Request(method string, body ...interface{}) *http.Request
- func (r *Resource) String() string
- func (r *Resource) WithAction(action string) *Resource
- func (r *Resource) WithID(id string) *Resource
- func (r *Resource) WithParam(name string, value string) *Resource
- func (r *Resource) WithPathEncodedParam(name string, value string) *Resource
- func (r *Resource) WithSubpath(subpath string) *Resource
- type Session
- type Signer
Examples ¶
Constants ¶
const (
Path = "/rest"
)
Variables ¶
This section is empty.
Functions ¶
func IsStatusError ¶ added in v0.34.0
func IsStatusError(err error, code int) bool
Types ¶
type Client ¶
type Client struct {
*soap.Client
// contains filtered or unexported fields
}
Client extends soap.Client to support JSON encoding, while inheriting security features, debug tracing and session persistence.
func (*Client) Do ¶
func (c *Client) Do(ctx context.Context, req *http.Request, resBody interface{}) error
Do sends the http.Request, decoding resBody if provided.
func (*Client) Download ¶ added in v0.23.0
func (c *Client) Download(ctx context.Context, u *url.URL, param *soap.Download) (io.ReadCloser, int64, error)
Download wraps soap.Client.Download, adding the REST authentication header
func (*Client) DownloadFile ¶ added in v0.23.0
func (c *Client) DownloadFile(ctx context.Context, file string, u *url.URL, param *soap.Download) error
DownloadFile wraps soap.Client.DownloadFile, adding the REST authentication header
func (*Client) Login ¶
func (c *Client) Login(ctx context.Context, user *url.Userinfo) error
Login creates a new session via Basic Authentication with the given url.Userinfo.
func (*Client) LoginByToken ¶ added in v0.20.0
func (c *Client) LoginByToken(ctx context.Context) error
func (*Client) Logout ¶
func (c *Client) Logout(ctx context.Context) error
Logout deletes the current session.
func (*Client) MarshalJSON ¶ added in v0.23.0
func (c *Client) MarshalJSON() ([]byte, error)
func (*Client) Path ¶ added in v0.23.0
func (c *Client) Path() string
Path returns rest.Path (see cache.Client)
func (*Client) Resource ¶ added in v0.22.0
func (c *Client) Resource(path string) *Resource
Resource helper for the given path.
func (*Client) Session ¶ added in v0.22.0
func (c *Client) Session(ctx context.Context) (*Session, error)
Session returns the user's current session. Nil is returned if the session is not authenticated.
func (*Client) SessionID ¶ added in v0.23.0
func (c *Client) SessionID(id ...string) string
SessionID is set by calling Login() or optionally with the given id param
func (*Client) UnmarshalJSON ¶ added in v0.23.0
func (c *Client) UnmarshalJSON(b []byte) error
func (*Client) Upload ¶ added in v0.23.0
func (c *Client) Upload(ctx context.Context, f io.Reader, u *url.URL, param *soap.Upload) error
Upload wraps soap.Client.Upload, adding the REST authentication header
func (*Client) Valid ¶ added in v0.23.0
func (c *Client) Valid() bool
Valid returns whether or not the client is valid and ready for use. This should be called after unmarshalling the client.
func (*Client) WithHeader ¶ added in v0.27.0
func (c *Client) WithHeader(
ctx context.Context,
headers http.Header) context.Context
WithHeader returns a new Context populated with the provided headers map. Calls to a VAPI REST client with this context will populate the HTTP headers map using the provided headers.
func (*Client) WithSigner ¶ added in v0.20.0
func (c *Client) WithSigner(ctx context.Context, s Signer) context.Context
type LocalizableMessage ¶ added in v0.21.0
type LocalizableMessage struct {
Args []string `json:"args,omitempty"`
DefaultMessage string `json:"default_message,omitempty"`
ID string `json:"id,omitempty"`
}
LocalizableMessage represents a localizable error
type RawResponse ¶ added in v0.27.0
type RawResponse struct {
bytes.Buffer
}
RawResponse may be used with the Do method as the resBody argument in order to capture the raw response data.
type Resource ¶ added in v0.22.0
type Resource struct {
// contains filtered or unexported fields
}
Resource wraps url.URL with helpers
func (*Resource) Request ¶ added in v0.22.0
func (r *Resource) Request(method string, body ...interface{}) *http.Request
Request returns a new http.Request for the given method. An optional body can be provided for POST and PATCH methods.
func (*Resource) WithAction ¶ added in v0.22.0
func (r *Resource) WithAction(action string) *Resource
WithAction sets adds action to the URL.RawQuery
func (*Resource) WithID ¶ added in v0.22.0
func (r *Resource) WithID(id string) *Resource
WithID appends id to the URL.Path
func (*Resource) WithParam ¶ added in v0.22.0
func (r *Resource) WithParam(name string, value string) *Resource
WithParam adds one parameter on the URL.RawQuery
func (*Resource) WithPathEncodedParam ¶ added in v0.28.0
func (r *Resource) WithPathEncodedParam(name string, value string) *Resource
WithPathEncodedParam appends a parameter on the URL.RawQuery, For special cases where URL Path-style encoding is needed
func (*Resource) WithSubpath ¶ added in v0.36.0
func (r *Resource) WithSubpath(subpath string) *Resource
WithSubpath appends the provided subpath to the URL.Path