MaxBytesReader is similar to io.LimitReader but is intended for
limiting the size of incoming request bodies. In contrast to
io.LimitReader, MaxBytesReader's result is a ReadCloser, returns a
non-EOF error for a Read beyond the limit, and closes the
underlying reader when its Close method is called.
MaxBytesReader prevents clients from accidentally or maliciously
sending a large request and wasting server resources.
NewProvider creates a new HTTP client provider.
Optionally provide ProviderOptions options that will be used as default if
not specified in Options argument to Provider.New, Provider.GetTransport and
Provider.GetTLSConfig.
If no middlewares are provided in opts the DefaultMiddlewares() will be used. If you
provide middlewares you have to manually add the DefaultMiddlewares() for it to be
enabled.
Note: Middlewares will be executed in the same order as provided.
type Provider interface {
// New creates a new http.Client given provided options. New(opts ...httpclient.Options) (*http.Client, error)
// GetTransport creates a new http.RoundTripper given provided options. GetTransport(opts ...httpclient.Options) (http.RoundTripper, error)
// GetTLSConfig creates a new tls.Config given provided options. GetTLSConfig(opts ...httpclient.Options) (*tls.Config, error)
}
Provider provides abilities to create http.Client, http.RoundTripper and tls.Config.