Documentation ¶
Overview ¶
Package rest implements a REST client for communicating with remote services.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
Client implements an HTTP/REST client for communicating with remote services.
func (Client) WithBytes ¶
WithBytes returns a shallow copy of the client with the bytes set as the message body to include in the requests.
func (Client) WithHeader ¶
WithHeader returns a shallow copy of the client with a header to include the requests.
type Config ¶
type Config struct { Name string `json:"name"` URL string `json:"url"` Headers map[string]string `json:"headers"` AllowInsureTLS bool `json:"allow_insecure_tls,omitempty"` Credentials struct { Bearer *bearerAuthPlugin `json:"bearer,omitempty"` ClientTLS *clientTLSAuthPlugin `json:"client_tls,omitempty"` S3Signing *awsSigningAuthPlugin `json:"s3_signing,omitempty"` } `json:"credentials"` }
Config represents configuration for a REST client.
type HTTPAuthPlugin ¶
type HTTPAuthPlugin interface { // implementations can assume NewClient will be called before Prepare NewClient(c Config) (*http.Client, error) Prepare(req *http.Request) error }
An HTTPAuthPlugin represents a mechanism to construct and configure HTTP authentication for a REST service
Click to show internal directories.
Click to hide internal directories.