router

package
v1.0.0-beta.66 Latest Latest
Warning

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

Go to latest
Published: May 3, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	NamespaceManager    *namespace.Manager
	StreamingConnector  streaming.Connector
	IngestHandler       http.Handler
	Meters              meter.Repository
	PortalCORSEnabled   bool
	PortalTokenStrategy *authenticator.PortalTokenStrategy
	ErrorHandler        errorsx.Handler
}

type IngestHandler

type IngestHandler interface {
	ServeHTTP(w http.ResponseWriter, r *http.Request, namespace string)
}

type QueryMeterResponse

type QueryMeterResponse struct {
	WindowSize *models.WindowSize     `json:"windowSize,omitempty"`
	From       *time.Time             `json:"from,omitempty"`
	To         *time.Time             `json:"to,omitempty"`
	Data       []models.MeterQueryRow `json:"data"`
}

QueryMeterResponse is returned by the QueryMeter endpoint.

func (QueryMeterResponse) Render

Render implements the chi renderer interface.

func (QueryMeterResponse) RenderCSV

func (resp QueryMeterResponse) RenderCSV(w http.ResponseWriter, r *http.Request, _groupByKeys []string, meterIDOrSlug string)

RenderCSV renders the response as CSV.

type Router

type Router struct {
	// contains filtered or unexported fields
}

func NewRouter

func NewRouter(config Config) (*Router, error)

func (*Router) CreateMeter

func (a *Router) CreateMeter(w http.ResponseWriter, r *http.Request)

func (*Router) CreatePortalToken

func (a *Router) CreatePortalToken(w http.ResponseWriter, r *http.Request)

CreatePortalToken creates a new portal token.

func (*Router) DeleteMeter

func (a *Router) DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string)

func (*Router) DeleteSubject

func (a *Router) DeleteSubject(w http.ResponseWriter, r *http.Request, idOrKey string)

func (*Router) GetMeter

func (a *Router) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string)

func (*Router) GetSubject

func (a *Router) GetSubject(w http.ResponseWriter, r *http.Request, idOrKey string)

func (*Router) IngestEvents

func (a *Router) IngestEvents(w http.ResponseWriter, r *http.Request)

func (*Router) InvalidatePortalTokens

func (a *Router) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request)

func (*Router) ListEvents

func (a *Router) ListEvents(w http.ResponseWriter, r *http.Request, params api.ListEventsParams)

func (*Router) ListMeterSubjects

func (a *Router) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIDOrSlug string)

ListMeterSubjects lists the subjects of a meter.

func (*Router) ListMeters

func (a *Router) ListMeters(w http.ResponseWriter, r *http.Request)

func (*Router) ListPortalTokens

func (a *Router) ListPortalTokens(w http.ResponseWriter, r *http.Request, params api.ListPortalTokensParams)

func (*Router) ListSubjects

func (a *Router) ListSubjects(w http.ResponseWriter, r *http.Request)

func (*Router) QueryMeter

func (a *Router) QueryMeter(w http.ResponseWriter, r *http.Request, meterIDOrSlug string, params api.QueryMeterParams)

QueryMeter queries the values stored for a meter.

func (*Router) QueryMeterWithMeter

func (a *Router) QueryMeterWithMeter(ctx context.Context, w http.ResponseWriter, r *http.Request, logger *slog.Logger, meter models.Meter, params api.QueryMeterParams)

QueryMeter queries the values stored for a meter.

func (*Router) QueryPortalMeter

func (a *Router) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params api.QueryPortalMeterParams)

func (*Router) UpsertSubject

func (a *Router) UpsertSubject(w http.ResponseWriter, r *http.Request)

Jump to

Keyboard shortcuts

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