...

Package httpx

import "github.com/ory/x/httpx"
Overview
Index

Overview ▾

func HasContentType

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

func MustNewRequest(method, url string, body io.Reader, contentType string) *http.Request

MustNewRequest returns a new *http.Request or fatals.

func NewRequestForm

func NewRequestForm(method, url string, data url.Values) (*http.Request, error)

NewRequestForm returns a new POST Form *http.Request.

func NewRequestJSON

func NewRequestJSON(method, url string, data interface{}) (*http.Request, error)

NewRequestJSON returns a new JSON *http.Request.

func NewResilientClient

func NewResilientClient(opts ...ResilientOptions) *retryablehttp.Client

type CompressionRequestReader

type CompressionRequestReader struct {
    ErrHandler func(w http.ResponseWriter, r *http.Request, err error)
}

func NewCompressionRequestReader

func NewCompressionRequestReader(eh func(w http.ResponseWriter, r *http.Request, err error)) *CompressionRequestReader

func (*CompressionRequestReader) ServeHTTP

func (c *CompressionRequestReader) ServeHTTP(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)

type ResilientOptions

type ResilientOptions func(o *resilientOptions)

func ResilientClientWithClient

func ResilientClientWithClient(c *http.Client) ResilientOptions

func ResilientClientWithConnectionTimeout

func ResilientClientWithConnectionTimeout(connTimeout time.Duration) ResilientOptions

func ResilientClientWithLogger

func ResilientClientWithLogger(l *logrusx.Logger) ResilientOptions

func ResilientClientWithMaxRetry

func ResilientClientWithMaxRetry(retryMax int) ResilientOptions

func ResilientClientWithMaxRetryWait

func ResilientClientWithMaxRetryWait(retryWaitMax time.Duration) ResilientOptions

func ResilientClientWithMinxRetryWait

func ResilientClientWithMinxRetryWait(retryWaitMin time.Duration) ResilientOptions