http

package
v0.0.75 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloneMultipartFileHeader added in v0.0.61

func CloneMultipartFileHeader(fh *multipart.FileHeader) *multipart.FileHeader

func CloneMultipartForm added in v0.0.61

func CloneMultipartForm(f *multipart.Form) *multipart.Form

func CloneOrMakeHeader added in v0.0.61

func CloneOrMakeHeader(hdr http.Header) http.Header

CloneOrMakeHeader invokes Header.Clone but if the result is nil, it'll instead make and return a non-nil Header.

func CloneURL added in v0.0.61

func CloneURL(u *url.URL) *url.URL

func CloneURLValues added in v0.0.61

func CloneURLValues(v url.Values) url.Values

func GetIPFromRequest added in v0.0.29

func GetIPFromRequest(r *http.Request) (net.IP, error)

returns IP address from request. It will lookup IP in X-Forwarded-For and X-Real-IP headers.

Types

type Client

type Client struct {
	http.Client
	// contains filtered or unexported fields
}

func NewClient

func NewClient(options ...ClientOption) (*Client, error)

func (*Client) ApplyOptions

func (o *Client) ApplyOptions(options ...ClientOption) *Client

func (*Client) Get

func (c *Client) Get(url string) ([]byte, error)

func (*Client) Post

func (c *Client) Post(
	url, contentType string,
	headers map[string]string,
	body []byte,
) ([]byte, error)

func (*Client) PostJson added in v0.0.6

func (c *Client) PostJson(
	url string,
	headers map[string]string,
	body []byte,
) ([]byte, error)

func (*Client) PostJsonWithAuthorize added in v0.0.14

func (c *Client) PostJsonWithAuthorize(
	url string,
	headers map[string]string,
	auth func(r *http.Request) error,
	body []byte,
) ([]byte, error)

func (*Client) PostReader

func (c *Client) PostReader(
	url, contentType string,
	headers map[string]string,
	auth func(r *http.Request) error,
	body io.Reader,
) ([]byte, error)

type ClientOption

type ClientOption interface {
	// contains filtered or unexported methods
}

A ClientOption sets options.

func WithDisableKeepAlives

func WithDisableKeepAlives(disableKeepAlives bool) ClientOption

func WithIdleConnTimeout

func WithIdleConnTimeout(idleConnTimeout time.Duration) ClientOption

func WithLogger

func WithLogger(l *log.Logger) ClientOption

WithLogger

func WithMaxIdleConns

func WithMaxIdleConns(maxIdleConns int) ClientOption

func WithResonseHeaderTimeout

func WithResonseHeaderTimeout(responseHeaderTimeout time.Duration) ClientOption

func WithTimeout

func WithTimeout(timeout time.Duration) ClientOption

type ClientOptionFunc

type ClientOptionFunc func(*Client)

ClientOptionFunc wraps a function that modifies Client into an implementation of the ClientOption interface.

type EmptyClientOption

type EmptyClientOption struct{}

EmptyClientOption does not alter the configuration. It can be embedded in another structure to build custom options.

This API is EXPERIMENTAL.

type EmptyHandlerChainOption added in v0.0.74

type EmptyHandlerChainOption struct{}

EmptyHandlerChainOption does not alter the configuration. It can be embedded in another structure to build custom options.

This API is EXPERIMENTAL.

type EmptyHandlerInterceptorOption added in v0.0.74

type EmptyHandlerInterceptorOption struct{}

EmptyHandlerInterceptorOption does not alter the configuration. It can be embedded in another structure to build custom options.

This API is EXPERIMENTAL.

type HandlerChain added in v0.0.74

type HandlerChain struct {
	//invoke before http handler
	PreHandlers []func(w http.ResponseWriter, r *http.Request) error
	Handlers    []HandlerInterceptor
	//invoke after http handler
	PostHandlers []func(w http.ResponseWriter, r *http.Request)
}

func NewHandlerChain added in v0.0.74

func NewHandlerChain(opts ...HandlerChainOption) *HandlerChain

func (*HandlerChain) ApplyOptions added in v0.0.74

func (o *HandlerChain) ApplyOptions(options ...HandlerChainOption) *HandlerChain

func (*HandlerChain) WrapH added in v0.0.74

func (c *HandlerChain) WrapH(next http.Handler) http.Handler

type HandlerChainOption added in v0.0.74

type HandlerChainOption interface {
	// contains filtered or unexported methods
}

A HandlerChainOption sets options.

type HandlerChainOptionFunc added in v0.0.74

type HandlerChainOptionFunc func(*HandlerChain)

HandlerChainOptionFunc wraps a function that modifies HandlerChain into an implementation of the HandlerChainOption interface.

type HandlerInterceptor added in v0.0.74

type HandlerInterceptor struct {
	//http middleware
	Interceptor func(h http.Handler) http.Handler
}

func NewHandlerInterceptor added in v0.0.74

func NewHandlerInterceptor(opts ...HandlerInterceptorOption) *HandlerInterceptor

func (*HandlerInterceptor) ApplyOptions added in v0.0.74

func (o *HandlerInterceptor) ApplyOptions(options ...HandlerInterceptorOption) *HandlerInterceptor

type HandlerInterceptorOption added in v0.0.74

type HandlerInterceptorOption interface {
	// contains filtered or unexported methods
}

A HandlerInterceptorOption sets options.

type HandlerInterceptorOptionFunc added in v0.0.74

type HandlerInterceptorOptionFunc func(*HandlerInterceptor)

HandlerInterceptorOptionFunc wraps a function that modifies HandlerInterceptor into an implementation of the HandlerInterceptorOption interface.

type ResponseWriterWrapper added in v0.0.74

type ResponseWriterWrapper struct {
	// contains filtered or unexported fields
}

ResponseWriterWrapper

func NewResponseWriterWrapper added in v0.0.74

func NewResponseWriterWrapper(w http.ResponseWriter) *ResponseWriterWrapper

func (*ResponseWriterWrapper) Header added in v0.0.74

func (rww *ResponseWriterWrapper) Header() http.Header

Header function overwrites the http.ResponseWriter Header() function

func (*ResponseWriterWrapper) String added in v0.0.74

func (rww *ResponseWriterWrapper) String() string

String function pack respose header, http status code and body

func (*ResponseWriterWrapper) Write added in v0.0.74

func (rww *ResponseWriterWrapper) Write(buf []byte) (int, error)

func (*ResponseWriterWrapper) WriteHeader added in v0.0.74

func (rww *ResponseWriterWrapper) WriteHeader(statusCode int)

WriteHeader function overwrites the http.ResponseWriter WriteHeader() function

Jump to

Keyboard shortcuts

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