client

package
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2018 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OptSetCloseChan

func OptSetCloseChan(c <-chan struct{}) func(*Type)

OptSetCloseChan sets a channel that when closed will interrupt any blocking calls within the client.

func OptSetLogger

func OptSetLogger(log log.Modular) func(*Type)

OptSetLogger sets the logger to use.

func OptSetStats

func OptSetStats(stats metrics.Type) func(*Type)

OptSetStats sets the metrics aggregator to use.

Types

type Config

type Config struct {
	URL            string            `json:"url" yaml:"url"`
	Verb           string            `json:"verb" yaml:"verb"`
	Headers        map[string]string `json:"headers" yaml:"headers"`
	TimeoutMS      int64             `json:"timeout_ms" yaml:"timeout_ms"`
	RetryMS        int64             `json:"retry_period_ms" yaml:"retry_period_ms"`
	MaxBackoffMS   int64             `json:"max_retry_backoff_ms" yaml:"max_retry_backoff_ms"`
	NumRetries     int               `json:"retries" yaml:"retries"`
	BackoffOn      []int             `json:"backoff_on" yaml:"backoff_on"`
	DropOn         []int             `json:"drop_on" yaml:"drop_on"`
	SkipCertVerify bool              `json:"skip_cert_verify" yaml:"skip_cert_verify"`
	auth.Config    `json:",inline" yaml:",inline"`
}

Config is a configuration struct for an HTTP client.

func NewConfig

func NewConfig() Config

NewConfig creates a new Config with default values.

type Type

type Type struct {
	URL string
	// contains filtered or unexported fields
}

Type is an output type that pushes messages to Type.

func New

func New(conf Config, opts ...func(*Type)) *Type

New creates a new Type.

func (*Type) CreateRequest

func (h *Type) CreateRequest(msg types.Message) (req *http.Request, err error)

CreateRequest creates an HTTP request out of a single message.

func (*Type) CreateRequestWithURL

func (h *Type) CreateRequestWithURL(url string, msg types.Message) (req *http.Request, err error)

CreateRequestWithURL creates an HTTP request out of a single message.

func (*Type) Do

func (h *Type) Do(msg types.Message) (res *http.Response, err error)

Do attempts to create and perform an HTTP request from a message payload. This attempt may include retries, and if all retries fail an error is returned.

func (*Type) DoWithURL

func (h *Type) DoWithURL(url string, msg types.Message) (res *http.Response, err error)

DoWithURL attempts to create and perform an HTTP request from a message payload. This attempt may include retries, and if all retries fail an error is returned.

func (*Type) ParseResponse

func (h *Type) ParseResponse(res *http.Response) (resMsg types.Message, err error)

ParseResponse attempts to parse an HTTP response into a 2D slice of bytes.

func (*Type) Send

func (h *Type) Send(msg types.Message) (types.Message, error)

Send attempts to send a message to an HTTP server, this attempt may include retries, and if all retries fail an error is returned. The message payload can be nil, in which case an empty body is sent. The response will be parsed back into a message, meaning mulitpart content handling is done for you.

If the response body is empty the message returned is nil.

func (*Type) SendWithURL

func (h *Type) SendWithURL(url string, msg types.Message) (types.Message, error)

SendWithURL attempts to send a message to an HTTP server with a specific URL, this attempt may include retries, and if all retries fail an error is returned. The message payload can be nil, in which case an empty body is sent. The response will be parsed back into a message, meaning mulitpart content handling is done for you.

If the response body is empty the message returned is nil.

Jump to

Keyboard shortcuts

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