Documentation ¶
Index ¶
Constants ¶
View Source
const ( // StatusClientClosedRequest is the status code for when a client request cancellation of an http request StatusClientClosedRequest = 499 ServiceTimingHeaderName = "Server-Timing" )
Variables ¶
This section is empty.
Functions ¶
func AdaptGrpcRoundTripperToHTTPRoundTripper ¶
func AdaptGrpcRoundTripperToHTTPRoundTripper(r GrpcRoundTripper) http.RoundTripper
Types ¶
type GrpcRoundTripper ¶
type GrpcRoundTripper interface {
RoundTripGRPC(context.Context, *httpgrpc.HTTPRequest) (*httpgrpc.HTTPResponse, io.ReadCloser, error)
}
GrpcRoundTripper is similar to http.RoundTripper, but works with HTTP requests converted to protobuf messages.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler accepts queries and forwards them to RoundTripper. It can wait on in-flight requests and log slow queries, all other logic is inside the RoundTripper.
func NewHandler ¶
func NewHandler(cfg HandlerConfig, roundTripper http.RoundTripper, log log.Logger, reg prometheus.Registerer, at *activitytracker.ActivityTracker) *Handler
NewHandler creates a new frontend handler.
type HandlerConfig ¶
type HandlerConfig struct { LogQueriesLongerThan time.Duration `yaml:"log_queries_longer_than"` LogQueryRequestHeaders flagext.StringSliceCSV `yaml:"log_query_request_headers" category:"advanced"` MaxBodySize int64 `yaml:"max_body_size" category:"advanced"` QueryStatsEnabled bool `yaml:"query_stats_enabled" category:"advanced"` ActiveSeriesWriteTimeout time.Duration `yaml:"active_series_write_timeout" category:"experimental"` }
HandlerConfig is a config for the handler.
func (*HandlerConfig) RegisterFlags ¶
func (cfg *HandlerConfig) RegisterFlags(f *flag.FlagSet)
Click to show internal directories.
Click to hide internal directories.