Documentation ¶
Index ¶
Constants ¶
View Source
const (
// StatusClientClosedRequest is the status code for when a client request cancellation of an http request
StatusClientClosedRequest = 499
)
Variables ¶
This section is empty.
Functions ¶
func AdaptGrpcRoundTripperToHTTPRoundTripper ¶
func AdaptGrpcRoundTripperToHTTPRoundTripper(r GrpcRoundTripper) http.RoundTripper
func NewHandler ¶
func NewHandler(cfg HandlerConfig, roundTripper http.RoundTripper, log log.Logger, reg prometheus.Registerer) http.Handler
New creates a new frontend handler.
Types ¶
type GrpcRoundTripper ¶
type GrpcRoundTripper interface {
RoundTripGRPC(context.Context, *httpgrpc.HTTPRequest) (*httpgrpc.HTTPResponse, 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 log slow queries, but all other logic is inside the RoundTripper.
type HandlerConfig ¶
type HandlerConfig struct { LogQueriesLongerThan time.Duration `yaml:"log_queries_longer_than"` MaxBodySize int64 `yaml:"max_body_size"` QueryStatsEnabled bool `yaml:"query_stats_enabled"` }
Config for a Handler.
func (*HandlerConfig) RegisterFlags ¶
func (cfg *HandlerConfig) RegisterFlags(f *flag.FlagSet)
Click to show internal directories.
Click to hide internal directories.