route

package
v0.0.0-...-1215978 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GRPCMessageSizeMax int = 5000000 // 5MB

)

Variables

View Source
var (
	ErrCaughtPanic         = handlerError{nil, "caught panic", http.StatusInternalServerError, false, false}
	ErrJSONFailed          = handlerError{nil, "failed to parse JSON", http.StatusBadRequest, false, true}
	ErrJSONBuildFailed     = handlerError{nil, "failed to build JSON response", http.StatusInternalServerError, false, true}
	ErrPostBody            = handlerError{nil, "failed to read request body", http.StatusInternalServerError, false, false}
	ErrAuthNeeded          = handlerError{nil, "unknown API key - check your credentials", http.StatusBadRequest, true, true}
	ErrConfigReadFailed    = handlerError{nil, "failed to read config", http.StatusBadRequest, false, false}
	ErrUpstreamFailed      = handlerError{nil, "failed to create upstream request", http.StatusServiceUnavailable, true, true}
	ErrUpstreamUnavailable = handlerError{nil, "upstream target unavailable", http.StatusServiceUnavailable, true, true}
	ErrReqToEvent          = handlerError{nil, "failed to parse event", http.StatusBadRequest, false, true}
	ErrBatchToEvent        = handlerError{nil, "failed to parse event within batch", http.StatusBadRequest, false, true}
	ErrInvalidContentType  = handlerError{nil, convert.ErrInvalidContentType.Message, convert.ErrInvalidContentType.HTTPStatusCode, false, true}
)
View Source
var ErrGenericMessage = "unexpected error!"

Functions

func ConvertKeyValueSliceToMap

func ConvertKeyValueSliceToMap(kvSlice []*proxypb.KeyValue) map[string]interface{}

ConvertKeyValueSliceToMap converts a slice of KeyValue messages to a map of string to interface{}

Types

type AuthInfo

type AuthInfo struct {
	APIKeyAccess map[string]bool `json:"api_key_access"`
	Team         TeamInfo        `json:"team"`
	Environment  EnvironmentInfo `json:"environment"`
}

type BatchResponse

type BatchResponse struct {
	Status int    `json:"status"`
	Error  string `json:"error,omitempty"`
}

type EnvironmentInfo

type EnvironmentInfo struct {
	Slug string `json:"slug"`
	Name string `json:"name"`
}

type MockGRPCHealthWatchServer

type MockGRPCHealthWatchServer struct {
	grpc_health_v1.Health_WatchServer
	// contains filtered or unexported fields
}

func (*MockGRPCHealthWatchServer) GetSentMessages

func (*MockGRPCHealthWatchServer) Send

type Router

type Router struct {
	Config               config.Config         `inject:""`
	Proxy                *proxy.Proxy          `inject:"proxyConfig"`
	Logger               logger.Logger         `inject:""`
	UpstreamTransmission transmit.Transmission `inject:"upstreamTransmission"`
	PeerTransmission     transmit.Transmission `inject:"peerTransmission"`
	Sharder              sharder.Sharder       `inject:""`
	Collector            collect.Collector     `inject:""`
	Metrics              metrics.Metrics       `inject:"metrics"`

	// used to identify Router as a OTLP TraceServer
	coltracepb.UnimplementedTraceServiceServer
	proxypb.TraceProxyServiceServer
	// contains filtered or unexported fields
}

func (*Router) Export

Export - processes requests from GRPC

func (*Router) LnS

func (r *Router) LnS(incomingOrPeer string)

LnS spins up the Listen and Serve portion of the router. A router is initialized as being for either incoming traffic from clients or traffic from a peer. They listen on different addresses so peer traffic can be prioritized.

func (*Router) SetEnvironmentCache

func (r *Router) SetEnvironmentCache(ttl time.Duration, getFn func(string) (string, error))

func (*Router) SetVersion

func (r *Router) SetVersion(ver string)

func (*Router) Status

func (*Router) Stop

func (r *Router) Stop() error

type TeamInfo

type TeamInfo struct {
	Slug string `json:"slug"`
}

Jump to

Keyboard shortcuts

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