client

package
v0.0.0-...-09fac85 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2018 License: Apache-2.0 Imports: 29 Imported by: 0

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 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) 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

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

	// 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 client authentication with mutual TLS

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL