Documentation ¶
Overview ¶
Package proxy provides all proxy services for Trickster
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewHTTPClient ¶
NewHTTPClient returns an HTTP client configured to the specifications of the running Trickster config.
func NewListener ¶
func NewListener(listenAddress string, listenPort, connectionsLimit int, tlsConfig *tls.Config, log *tl.Logger) (net.Listener, error)
NewListener create a new network listener which obeys to the configuration max connection limit, and also monitors connections with prometheus metrics.
The way this works is by creating a listener and wrapping it with a netutil.LimitListener to set a limit.
This limiter will simply block waiting for resources to become available whenever clients go above the limit.
To simplify settings limits the listener is wrapped with yet another object which observes the connections to set a gauge with the current number of connections (with operates with sampling through scrapes), and a set of counter metrics for connections accepted, rejected and closed.
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
Package context manages the insertion of Request-specific information (which cache to use, etc.) into proxied HTTP requests
|
Package context manages the insertion of Request-specific information (which cache to use, etc.) into proxied HTTP requests |
Package engines provides the Reverse Proxy, Reverse Proxy Cache, and Time Series Delta Proxy Cache features for use by handlers.
|
Package engines provides the Reverse Proxy, Reverse Proxy Cache, and Time Series Delta Proxy Cache features for use by handlers. |
Package errors provides common Error functionality to the Trickster proxy
|
Package errors provides common Error functionality to the Trickster proxy |
Package handlers provides several non-proxy handlers for use internally by other Trickster handlers
|
Package handlers provides several non-proxy handlers for use internally by other Trickster handlers |
Package headers provides functionality for HTTP Headers not provided by the builtin net/http package
|
Package headers provides functionality for HTTP Headers not provided by the builtin net/http package |
Package methods provides functionality for handling HTTP methods
|
Package methods provides functionality for handling HTTP methods |
Package origins the interface and generic functionality for Origin Types
|
Package origins the interface and generic functionality for Origin Types |
clickhouse
Package clickhouse provides the ClickHouse origin type
|
Package clickhouse provides the ClickHouse origin type |
influxdb
Package influxdb provides the InfluxDB Origin Type
|
Package influxdb provides the InfluxDB Origin Type |
irondb
Package irondb provides proxy origin support for IRONdb databases.
|
Package irondb provides proxy origin support for IRONdb databases. |
prometheus
Package prometheus provides the Prometheus Origin Type
|
Package prometheus provides the Prometheus Origin Type |
reverseproxycache
Package reverseproxycache provides the HTTP Reverse Proxy Cache Origin Type
|
Package reverseproxycache provides the HTTP Reverse Proxy Cache Origin Type |
Package params provides support for handling URL Parameters
|
Package params provides support for handling URL Parameters |
ranges
|
|
byterange
Package byterange provides acceleration functions for Byte Ranges for use with HTTP Range Requests
|
Package byterange provides acceleration functions for Byte Ranges for use with HTTP Range Requests |
Package request provides functionality for handling HTTP Requests including the insertion of configuration options into the request
|
Package request provides functionality for handling HTTP Requests including the insertion of configuration options into the request |
Package timeconv provides time conversion capabilities to Trickster
|
Package timeconv provides time conversion capabilities to Trickster |
Package tls handles options for TLS (https) requests
|
Package tls handles options for TLS (https) requests |
Package urls provides capabilities for manipulating URLs that are not provided by the builtin net/url package
|
Package urls provides capabilities for manipulating URLs that are not provided by the builtin net/url package |