httpmiddleware

package
v0.0.0-...-553ec8c Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package httpmiddleware contains HTTP middlewares.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Wrap

func Wrap(h http.Handler, middlewares ...Middleware) http.Handler

Wrap handler using given middlewares.

Types

type Metrics

type Metrics interface {
	TracerProvider() trace.TracerProvider
	MeterProvider() metric.MeterProvider
	TextMapPropagator() propagation.TextMapPropagator
}

Metrics wraps TracerProvider and MeterProvider.

type Middleware

type Middleware = func(http.Handler) http.Handler

Middleware is a net/http middleware.

func InjectLogger

func InjectLogger(lg *zap.Logger) Middleware

InjectLogger injects logger into request context.

func Instrument

func Instrument(serviceName string, find RouteFinder, m Metrics) Middleware

Instrument setups otelhttp.

func Labeler

func Labeler(find RouteFinder) Middleware

func LogRequests

func LogRequests(find RouteFinder) Middleware

LogRequests logs incoming requests using context logger.

type Provider

type Provider struct {
	*tracesdk.TracerProvider
	Exporter *tracetest.InMemoryExporter
}

Provider is a helper for tests providing a TracerProvider and an InMemoryExporter.

func NewProvider

func NewProvider() *Provider

NewProvider initializes and returns a new Provider along with an exporter.

func (*Provider) Flush

func (p *Provider) Flush()

Flush forces a flush of all finished spans.

func (*Provider) Reset

func (p *Provider) Reset()

Reset clears the current in-memory storage.

type Route

type Route interface {
	Name() string
	OperationID() string
	PathPattern() string
}

Route is a generic ogen route type.

type RouteFinder

type RouteFinder func(method string, u *url.URL) (Route, bool)

RouteFinder finds Route by given URL.

func MakeRouteFinder

func MakeRouteFinder[R Route, S Server[R]](server S) RouteFinder

MakeRouteFinder creates RouteFinder from given server.

type Server

type Server[R Route] interface {
	FindPath(method string, u *url.URL) (r R, _ bool)
}

Server is a generic ogen server type.

Jump to

Keyboard shortcuts

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