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.