Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultTimeout = 30 * time.Second

    DefaultTimeout the default request timeout

      PassThroughAuth never manipulates the request

      Functions

      func APIKeyAuth

      func APIKeyAuth(name, in, value string) runtime.ClientAuthInfoWriter

        APIKeyAuth provides an API key auth info writer

        func BasicAuth

        func BasicAuth(username, password string) runtime.ClientAuthInfoWriter

          BasicAuth provides a basic auth info writer

          func BearerToken

          func BearerToken(token string) runtime.ClientAuthInfoWriter

            BearerToken provides a header based oauth2 bearer access token auth info writer

            func Compose

              Compose combines multiple ClientAuthInfoWriters into a single one. Useful when multiple auth headers are needed.

              func KeepAliveTransport

              func KeepAliveTransport(rt http.RoundTripper) http.RoundTripper

                KeepAliveTransport 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 client middleware that can be used to override any request.

                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 client transport suitable for mutual tls auth

                      Types

                      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 client that uses the transport to make http requests based on a swagger specification.

                        func New

                        func New(host, basePath string, schemes []string) *Runtime

                          New creates a new default runtime for a swagger api runtime.Client

                          func NewWithClient

                          func NewWithClient(host, basePath string, schemes []string, client *http.Client) *Runtime

                            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 client middleware that can be used to override any request.

                              func (*Runtime) SetDebug

                              func (r *Runtime) SetDebug(debug bool)

                                SetDebug changes the debug flag. It ensures that client and middlewares have the set debug level.

                                func (*Runtime) SetLogger

                                func (r *Runtime) SetLogger(logger logger.Logger)

                                  SetLogger changes the logger stream. It ensures that client and middlewares use the same logger.

                                  func (*Runtime) Submit

                                  func (r *Runtime) Submit(operation *runtime.ClientOperation) (interface{}, error)

                                    Submit a request and when there is a body on success it will turn that into the result all other things are turned into an api error for swagger which retains the status code

                                    func (*Runtime) WithOpenTracing

                                    func (r *Runtime) WithOpenTracing(opts ...opentracing.StartSpanOption) runtime.ClientTransport

                                      WithOpenTracing adds opentracing support to the provided runtime. A new client span is created for each request. If the context of the client operation does not contain an active span, no span is created. The provided opts are applied to each spans - for example to add global tags.

                                      type TLSClientOptions

                                      type TLSClientOptions struct {
                                      	// Certificate is the path to a PEM-encoded certificate to be used for
                                      	// client authentication. If set then Key must also be set.
                                      	Certificate string
                                      
                                      	// LoadedCertificate is the certificate to be used for 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 client
                                      	// authentication. This field is required if Certificate is set.
                                      	Key string
                                      
                                      	// LoadedKey is the key for 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
                                      
                                      	// LoadedCAPool specifies a pool of RootCAs to use when validating the server's TLS certificate.
                                      	// If set, it will be combined with the the other loaded certificates (see LoadedCA and CA).
                                      	// If neither LoadedCA or CA is set, the provided pool with override the system
                                      	// certificate pool.
                                      	// The caller must not use the supplied pool after calling TLSClientAuth.
                                      	LoadedCAPool *x509.CertPool
                                      
                                      	// 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 true, any certificate is accepted.
                                      	InsecureSkipVerify bool
                                      
                                      	// VerifyPeerCertificate, if not nil, is called after normal
                                      	// certificate verification. It receives the raw ASN.1 certificates
                                      	// provided by the peer and also any verified chains that normal processing found.
                                      	// If it returns a non-nil error, the handshake is aborted and that error results.
                                      	//
                                      	// If normal verification fails then the handshake will abort before
                                      	// considering this callback. If normal verification is disabled by
                                      	// setting InsecureSkipVerify then this callback will be considered but
                                      	// the verifiedChains argument will always be nil.
                                      	VerifyPeerCertificate func(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error
                                      
                                      	// SessionTicketsDisabled may be set to true to disable session ticket and
                                      	// PSK (resumption) support. Note that on clients, session ticket support is
                                      	// also disabled if ClientSessionCache is nil.
                                      	SessionTicketsDisabled bool
                                      
                                      	// ClientSessionCache is a cache of ClientSessionState entries for TLS
                                      	// session resumption. It is only used by clients.
                                      	ClientSessionCache tls.ClientSessionCache
                                      	// contains filtered or unexported fields
                                      }

                                        TLSClientOptions to configure client authentication with mutual TLS