timeouts

package
v2.11.5 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Timeouts

type Timeouts struct {
	// How long to allow a read from the request body to stall before
	// aborting the connection, reset on every successful read (like the
	// server-wide read_idle_timeout, but scoped to routes matching this
	// handler). If zero, no idle timeout is applied here.
	// EXPERIMENTAL. Subject to change/removal.
	ReadTimeout time.Duration `json:"read_timeout,omitempty"`

	// ReadMinRate requires the client to sustain at least this many
	// bytes/second, averaged from the start of the read, or the
	// connection is aborted (Apache mod_reqtimeout's MinRate). Only
	// takes effect if ReadTimeout is also set.
	// EXPERIMENTAL. Subject to change/removal.
	ReadMinRate int64 `json:"read_min_rate,omitempty"`

	// How long to allow a write to the client to stall before aborting
	// the connection, reset on every successful write (like the
	// server-wide write_idle_timeout, but scoped to routes matching this
	// handler). If zero, no idle timeout is applied here.
	// EXPERIMENTAL. Subject to change/removal.
	WriteTimeout time.Duration `json:"write_timeout,omitempty"`

	// WriteMinRate is like ReadMinRate, but for writes to the client.
	// Only takes effect if WriteTimeout is also set.
	// EXPERIMENTAL. Subject to change/removal.
	WriteMinRate int64 `json:"write_min_rate,omitempty"`

	// MaxWriteChunk bounds how many bytes a single underlying write
	// operation is allowed to cover, so WriteTimeout/WriteMinRate can
	// actually apply between chunks of a large response instead of
	// being bounded by one deadline for the whole thing. If zero,
	// caddyhttp.DefaultMaxWriteChunk is used.
	// EXPERIMENTAL. Subject to change/removal.
	MaxWriteChunk int `json:"max_write_chunk,omitempty"`
	// contains filtered or unexported fields
}

Timeouts is a middleware that applies read/write idle timeouts, minimum transfer rates, and a write chunk size cap to routes matching this handler, independent of the server-wide equivalents.

func (Timeouts) CaddyModule

func (Timeouts) CaddyModule() caddy.ModuleInfo

CaddyModule returns the Caddy module information.

func (*Timeouts) Provision

func (t *Timeouts) Provision(ctx caddy.Context) error

func (Timeouts) ServeHTTP

func (t Timeouts) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error

Jump to

Keyboard shortcuts

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