web

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2019 License: GPL-3.0 Imports: 12 Imported by: 67

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHTTPClient

func NewHTTPClient(client Client) (*http.Client, error)

NewHTTPClient creates new HTTPClient.

func NewHTTPRequest

func NewHTTPRequest(req Request) (*http.Request, error)

NewHTTPRequest creates a new *http.Requests based Request fields and returns *http.Requests and error if any encountered.

func NewTLSConfig added in v0.0.2

func NewTLSConfig(config ClientTLSConfig) (*tls.Config, error)

NewTLSConfig returns a tls.Config, may be nil without error if TLS is not configured.

Types

type Client

type Client struct {
	Timeout           Duration `yaml:"timeout"`              // default is zero (no timeout) must be tuned by modules
	NotFollowRedirect bool     `yaml:"not_follow_redirects"` // default is follow
	ProxyURL          string   `yaml:"proxy_url"`
	ClientTLSConfig   `yaml:",inline"`
}

Client is a struct that contains the fields that are needed fore creating HTTPClient.

type ClientTLSConfig added in v0.0.2

type ClientTLSConfig struct {
	TLSCA              string `yaml:"tls_ca"`
	TLSCert            string `yaml:"tls_cert"`
	TLSKey             string `yaml:"tls_key"`
	InsecureSkipVerify bool   `yaml:"tls_skip_verify"`
}

ClientTLSConfig represents the standard client TLS config.

type Duration

type Duration struct {
	Duration time.Duration
}

Duration is a time.Duration wrapper

func (*Duration) UnmarshalYAML

func (m *Duration) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements yaml.Unmarshaler

type HTTP

type HTTP struct {
	Request `yaml:",inline"`
	Client  `yaml:",inline"`
}

HTTP is a struct with embedded Request and Client.

type Request

type Request struct {
	URI           string            `yaml:"-"`
	URL           string            `yaml:"url" validate:"required,url"`
	Body          string            `yaml:"body"`
	Method        string            `yaml:"method" validate:"isdefault|oneof=GET POST HEAD PUT BATCH"`
	Headers       map[string]string `yaml:"headers"`
	Username      string            `yaml:"username"`
	Password      string            `yaml:"password"`
	ProxyUsername string            `yaml:"proxy_username"`
	ProxyPassword string            `yaml:"proxy_password"`
}

Request is a struct that contains the fields that are needed to newHTTPClient *http.Request.

Jump to

Keyboard shortcuts

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