Documentation ¶
Overview ¶
Package handler provides a client and handlers for responding to locate requests.
Index ¶
- type Client
- func (c *Client) Heartbeat(rw http.ResponseWriter, req *http.Request)
- func (c *Client) Live(rw http.ResponseWriter, req *http.Request)
- func (c *Client) Monitoring(rw http.ResponseWriter, req *http.Request)
- func (c *Client) Nearest(rw http.ResponseWriter, req *http.Request)
- func (c *Client) Prometheus(rw http.ResponseWriter, req *http.Request)
- func (c *Client) Ready(rw http.ResponseWriter, req *http.Request)
- type ClientLocator
- type LocatorV2
- type PrometheusClient
- type Signer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Signer LocatorV2 ClientLocator PrometheusClient // contains filtered or unexported fields }
Client contains state needed for xyz.
func NewClient ¶
func NewClient(project string, private Signer, locatorV2 LocatorV2, client ClientLocator, prom PrometheusClient, lmts limits.Agents) *Client
NewClient creates a new client.
func NewClientDirect ¶
func NewClientDirect(project string, private Signer, locatorV2 LocatorV2, client ClientLocator, prom PrometheusClient) *Client
NewClientDirect creates a new client with a target template using only the target machine.
func (*Client) Heartbeat ¶
func (c *Client) Heartbeat(rw http.ResponseWriter, req *http.Request)
Heartbeat implements /v2/heartbeat requests. It starts a new persistent connection and a new goroutine to read incoming messages.
func (*Client) Live ¶
func (c *Client) Live(rw http.ResponseWriter, req *http.Request)
Live is a minimal handler to indicate that the server is operating at all.
func (*Client) Monitoring ¶
func (c *Client) Monitoring(rw http.ResponseWriter, req *http.Request)
Monitoring issues access tokens for end to end monitoring requests.
func (*Client) Nearest ¶
func (c *Client) Nearest(rw http.ResponseWriter, req *http.Request)
Nearest uses an implementation of the LocatorV2 interface to look up nearest servers.
func (*Client) Prometheus ¶
func (c *Client) Prometheus(rw http.ResponseWriter, req *http.Request)
Prometheus is a handler that collects Prometheus health signals.
type ClientLocator ¶
ClientLocator defines the interfeace for looking up the client geo location.
type LocatorV2 ¶
type LocatorV2 interface { Nearest(service string, lat, lon float64, opts *heartbeat.NearestOptions) (*heartbeat.TargetInfo, error) heartbeat.StatusTracker }
LocatorV2 defines how the Nearest handler requests machines nearest to the client.