Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultTimeout = 30 * time.Second
DefaultTimeout the default request timeout
Functions ¶
func TLSClient ¶
func TLSClient(opts TLSClientOptions) (*http.Client, error)
TLSClient creates a http.Client for mutual auth
func TLSClientAuth ¶
func TLSClientAuth(opts TLSClientOptions) (*tls.Config, error)
TLSClientAuth creates a tls.Config for mutual auth
func TLSTransport ¶
func TLSTransport(opts TLSClientOptions) (http.RoundTripper, error)
TLSTransport creates a http eschr_client transport suitable for mutual tls auth
Types ¶
type Credentials ¶
type HmacSha2Auth ¶
type HmacSha2Auth struct { Credentials Credentials CredentialScope string }
func NewAuth ¶
func NewAuth(accessKey string, sharedKey string, credentialScope string) HmacSha2Auth
func (HmacSha2Auth) AuthenticateRequest ¶
func (auth HmacSha2Auth) AuthenticateRequest(r runtime.ClientRequest, _ strfmt.Registry) error
type Runtime ¶
type Runtime struct { DefaultMediaType string DefaultAuthentication runtime.ClientAuthInfoWriter Consumers map[string]runtime.Consumer Producers map[string]runtime.Producer Transport http.RoundTripper Jar http.CookieJar //Spec *spec.Document Host string BasePath string Formats strfmt.Registry Context context.Context Debug bool // contains filtered or unexported fields }
Runtime represents an API eschr_client that uses the transport to make http requests based on a swagger specification.
func NewWithClient ¶
NewWithClient allows you to create a new transport with a configured http.Client
func (*Runtime) EnableConnectionReuse ¶
func (r *Runtime) EnableConnectionReuse()
EnableConnectionReuse drains the remaining body from a response so that go will reuse the TCP connections.
This is not enabled by default because there are servers where the response never gets closed and that would make the code hang forever. So instead it's provided as a http eschr_client middleware that can be used to override any request.
func (*Runtime) SetDebug ¶
SetDebug changes the debug flag. It ensures that eschr_client and middlewares have the set debug level.
type TLSClientOptions ¶
type TLSClientOptions struct { // Certificate is the path to a PEM-encoded certificate to be used for // eschr_client authentication. If set then Key must also be set. Certificate string // LoadedCertificate is the certificate to be used for eschr_client authentication. // This field is ignored if Certificate is set. If this field is set, LoadedKey // is also required. LoadedCertificate *x509.Certificate // Key is the path to an unencrypted PEM-encoded private key for eschr_client // authentication. This field is required if Certificate is set. Key string // LoadedKey is the key for eschr_client authentication. This field is required if // LoadedCertificate is set. LoadedKey crypto.PrivateKey // CA is a path to a PEM-encoded certificate that specifies the root certificate // to use when validating the TLS certificate presented by the server. If this field // (and LoadedCA) is not set, the system certificate pool is used. This field is ignored if LoadedCA // is set. CA string // LoadedCA specifies the root certificate to use when validating the server's TLS certificate. // If this field (and CA) is not set, the system certificate pool is used. LoadedCA *x509.Certificate // ServerName specifies the hostname to use when verifying the server certificate. // If this field is set then InsecureSkipVerify will be ignored and treated as // false. ServerName string // InsecureSkipVerify controls whether the certificate chain and hostname presented // by the server are validated. If false, any certificate is accepted. InsecureSkipVerify bool // contains filtered or unexported fields }
TLSClientOptions to configure eschr_client authentication with mutual TLS