Versions in this module Expand all Collapse all v0 v0.12.0 Jul 28, 2022 v0.0.2 Jul 28, 2022 v0.0.1 Jul 28, 2022 Changes in this version + type AUpstreams struct + DialTimeout caddy.Duration + FallbackDelay caddy.Duration + Name string + Port string + Refresh caddy.Duration + Resolver *UpstreamResolver + func (AUpstreams) CaddyModule() caddy.ModuleInfo + func (au *AUpstreams) Provision(_ caddy.Context) error + func (au AUpstreams) GetUpstreams(r *http.Request) ([]*Upstream, error) + func (au AUpstreams) String() string + func (u *AUpstreams) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type ActiveHealthChecks struct + ExpectBody string + ExpectStatus int + Headers http.Header + Interval caddy.Duration + MaxSize int64 + Path string + Port int + Timeout caddy.Duration + URI string + type CircuitBreaker interface + OK func() bool + RecordMetric func(statusCode int, latency time.Duration) + type CookieHashSelection struct + Name string + Secret string + func (CookieHashSelection) CaddyModule() caddy.ModuleInfo + func (s *CookieHashSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (s CookieHashSelection) Select(pool UpstreamPool, req *http.Request, w http.ResponseWriter) *Upstream + type CopyResponseHandler struct + StatusCode caddyhttp.WeakString + func (CopyResponseHandler) CaddyModule() caddy.ModuleInfo + func (h *CopyResponseHandler) Provision(ctx caddy.Context) error + func (h *CopyResponseHandler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (h CopyResponseHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request, _ caddyhttp.Handler) error + type CopyResponseHeadersHandler struct + Exclude []string + Include []string + func (CopyResponseHeadersHandler) CaddyModule() caddy.ModuleInfo + func (h *CopyResponseHeadersHandler) Provision(ctx caddy.Context) error + func (h *CopyResponseHeadersHandler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (h *CopyResponseHeadersHandler) Validate() error + func (h CopyResponseHeadersHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request, next caddyhttp.Handler) error + type DialError struct + type DialInfo struct + Address string + Host string + Network string + Port string + Upstream *Upstream + func GetDialInfo(ctx context.Context) (DialInfo, bool) + func (di DialInfo) String() string + type FirstSelection struct + func (FirstSelection) CaddyModule() caddy.ModuleInfo + func (FirstSelection) Select(pool UpstreamPool, _ *http.Request, _ http.ResponseWriter) *Upstream + func (r *FirstSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type HTTPTransport struct + Compression *bool + DialTimeout caddy.Duration + ExpectContinueTimeout caddy.Duration + FallbackDelay caddy.Duration + KeepAlive *KeepAlive + MaxConnsPerHost int + MaxResponseHeaderSize int64 + ReadBufferSize int + ReadTimeout caddy.Duration + Resolver *UpstreamResolver + ResponseHeaderTimeout caddy.Duration + TLS *TLSConfig + Transport *http.Transport + Versions []string + WriteBufferSize int + WriteTimeout caddy.Duration + func (HTTPTransport) CaddyModule() caddy.ModuleInfo + func (h *HTTPTransport) EnableTLS(base *TLSConfig) error + func (h *HTTPTransport) NewTransport(caddyCtx caddy.Context) (*http.Transport, error) + func (h *HTTPTransport) Provision(ctx caddy.Context) error + func (h *HTTPTransport) RoundTrip(req *http.Request) (*http.Response, error) + func (h *HTTPTransport) SetScheme(req *http.Request) + func (h *HTTPTransport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (h HTTPTransport) Cleanup() error + func (h HTTPTransport) TLSEnabled() bool + type Handler struct + BufferRequests bool + BufferResponses bool + CB CircuitBreaker + CBRaw json.RawMessage + DynamicUpstreams UpstreamSource + DynamicUpstreamsRaw json.RawMessage + FlushInterval caddy.Duration + HandleResponse []caddyhttp.ResponseHandler + Headers *headers.Handler + HealthChecks *HealthChecks + LoadBalancing *LoadBalancing + MaxBufferSize int64 + Rewrite *rewrite.Rewrite + Transport http.RoundTripper + TransportRaw json.RawMessage + TrustedProxies []string + Upstreams UpstreamPool + func (Handler) CaddyModule() caddy.ModuleInfo + func (h *Handler) Cleanup() error + func (h *Handler) FinalizeUnmarshalCaddyfile(helper httpcaddyfile.Helper) error + func (h *Handler) Provision(ctx caddy.Context) error + func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error + func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type HeaderHashSelection struct + Field string + func (HeaderHashSelection) CaddyModule() caddy.ModuleInfo + func (s *HeaderHashSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (s HeaderHashSelection) Select(pool UpstreamPool, req *http.Request, _ http.ResponseWriter) *Upstream + type HealthChecks struct + Active *ActiveHealthChecks + Passive *PassiveHealthChecks + type Host struct + func (h *Host) Fails() int + func (h *Host) NumRequests() int + type IPHashSelection struct + func (IPHashSelection) CaddyModule() caddy.ModuleInfo + func (IPHashSelection) Select(pool UpstreamPool, req *http.Request, _ http.ResponseWriter) *Upstream + func (r *IPHashSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type KeepAlive struct + Enabled *bool + IdleConnTimeout caddy.Duration + MaxIdleConns int + MaxIdleConnsPerHost int + ProbeInterval caddy.Duration + type LeastConnSelection struct + func (LeastConnSelection) CaddyModule() caddy.ModuleInfo + func (LeastConnSelection) Select(pool UpstreamPool, _ *http.Request, _ http.ResponseWriter) *Upstream + func (r *LeastConnSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type LoadBalancing struct + Retries int + RetryMatch caddyhttp.MatcherSets + RetryMatchRaw caddyhttp.RawMatcherSets + SelectionPolicy Selector + SelectionPolicyRaw json.RawMessage + TryDuration caddy.Duration + TryInterval caddy.Duration + type PassiveHealthChecks struct + FailDuration caddy.Duration + MaxFails int + UnhealthyLatency caddy.Duration + UnhealthyRequestCount int + UnhealthyStatus []int + type RandomChoiceSelection struct + Choose int + func (RandomChoiceSelection) CaddyModule() caddy.ModuleInfo + func (r *RandomChoiceSelection) Provision(ctx caddy.Context) error + func (r *RandomChoiceSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (r RandomChoiceSelection) Select(pool UpstreamPool, _ *http.Request, _ http.ResponseWriter) *Upstream + func (r RandomChoiceSelection) Validate() error + type RandomSelection struct + func (RandomSelection) CaddyModule() caddy.ModuleInfo + func (r *RandomSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + func (r RandomSelection) Select(pool UpstreamPool, request *http.Request, _ http.ResponseWriter) *Upstream + type RoundRobinSelection struct + func (RoundRobinSelection) CaddyModule() caddy.ModuleInfo + func (r *RoundRobinSelection) Select(pool UpstreamPool, _ *http.Request, _ http.ResponseWriter) *Upstream + func (r *RoundRobinSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type SRVUpstreams struct + DialTimeout caddy.Duration + FallbackDelay caddy.Duration + Name string + Proto string + Refresh caddy.Duration + Resolver *UpstreamResolver + Service string + func (SRVUpstreams) CaddyModule() caddy.ModuleInfo + func (su *SRVUpstreams) Provision(ctx caddy.Context) error + func (su SRVUpstreams) GetUpstreams(r *http.Request) ([]*Upstream, error) + func (su SRVUpstreams) String() string + func (u *SRVUpstreams) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type Selector interface + Select func(UpstreamPool, *http.Request, http.ResponseWriter) *Upstream + type TLSConfig struct + ClientCertificateAutomate string + ClientCertificateFile string + ClientCertificateKeyFile string + ExceptPorts []string + HandshakeTimeout caddy.Duration + InsecureSkipVerify bool + Renegotiation string + RootCAPEMFiles []string + RootCAPool []string + ServerName string + func (t TLSConfig) MakeTLSClientConfig(ctx caddy.Context) (*tls.Config, error) + type TLSTransport interface + EnableTLS func(base *TLSConfig) error + TLSEnabled func() bool + type URIHashSelection struct + func (URIHashSelection) CaddyModule() caddy.ModuleInfo + func (URIHashSelection) Select(pool UpstreamPool, req *http.Request, _ http.ResponseWriter) *Upstream + func (r *URIHashSelection) UnmarshalCaddyfile(d *caddyfile.Dispenser) error + type Upstream struct + Dial string + LookupSRV string + MaxRequests int + func (u *Upstream) Available() bool + func (u *Upstream) Full() bool + func (u *Upstream) Healthy() bool + func (u Upstream) String() string + type UpstreamPool []*Upstream + type UpstreamResolver struct + Addresses []string + func (u *UpstreamResolver) ParseAddresses() error + type UpstreamSource interface + GetUpstreams func(*http.Request) ([]*Upstream, error)