func HasContentType(r *http.Request, mimetypes ...string) bool
HasContentType determines whether the request `content-type` includes a server-acceptable mime-type
Failure should yield an HTTP 415 (`http.StatusUnsupportedMediaType`)
func MustNewRequest(method, url string, body io.Reader, contentType string) *http.Request
MustNewRequest returns a new *http.Request or fatals.
func NewRequestForm(method, url string, data url.Values) (*http.Request, error)
NewRequestForm returns a new POST Form *http.Request.
func NewRequestJSON(method, url string, data interface{}) (*http.Request, error)
NewRequestJSON returns a new JSON *http.Request.
func NewResilientClient(opts ...ResilientOptions) *retryablehttp.Client
type CompressionRequestReader struct { ErrHandler func(w http.ResponseWriter, r *http.Request, err error) }
func NewCompressionRequestReader(eh func(w http.ResponseWriter, r *http.Request, err error)) *CompressionRequestReader
func (c *CompressionRequestReader) ServeHTTP(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
type ResilientOptions func(o *resilientOptions)
func ResilientClientWithClient(c *http.Client) ResilientOptions
func ResilientClientWithConnectionTimeout(connTimeout time.Duration) ResilientOptions
func ResilientClientWithLogger(l *logrusx.Logger) ResilientOptions
func ResilientClientWithMaxRetry(retryMax int) ResilientOptions
func ResilientClientWithMaxRetryWait(retryWaitMax time.Duration) ResilientOptions
func ResilientClientWithMinxRetryWait(retryWaitMin time.Duration) ResilientOptions