middleware package - github.com/faabiosr/echo-middleware - Go Packages (original) (raw)
Package middleware provides middlewares for Echo Framework.
func CharmLogRecoverFn(logger *charm.Logger) mw.LogErrorFunc
func CharmLogWithConfig(cfg CharmLogConfig) echo.MiddlewareFunc
func OpenCensusWithConfig(cfg OpenCensusConfig) echo.MiddlewareFunc
func RequestIDWithConfig(cfg RequestIDConfig) echo.MiddlewareFunc
func ZeroLogRecoverFn(logger zerolog.Logger) mw.LogErrorFunc
func ZeroLogWithConfig(cfg ZeroLogConfig) echo.MiddlewareFunc
This section is empty.
var (
OpenCensusRequestCount = &[view](/go.opencensus.io/stats/view).[View](/go.opencensus.io/stats/view#View){
Name: "request_count",
Description: "Count of HTTP request started",
Measure: [ochttp](/go.opencensus.io/plugin/ochttp).[ServerRequestCount](/go.opencensus.io/plugin/ochttp#ServerRequestCount),
Aggregation: [view](/go.opencensus.io/stats/view).[Count](/go.opencensus.io/stats/view#Count)(),
}
OpenCensusRequestCountByMethod = &[view](/go.opencensus.io/stats/view).[View](/go.opencensus.io/stats/view#View){
Name: "request_count_by_method",
Description: "Server request count by HTTP method",
TagKeys: [][tag](/go.opencensus.io/tag).[Key](/go.opencensus.io/tag#Key){[ochttp](/go.opencensus.io/plugin/ochttp).[Method](/go.opencensus.io/plugin/ochttp#Method)},
Measure: [ochttp](/go.opencensus.io/plugin/ochttp).[ServerRequestCount](/go.opencensus.io/plugin/ochttp#ServerRequestCount),
Aggregation: [view](/go.opencensus.io/stats/view).[Count](/go.opencensus.io/stats/view#Count)(),
}
OpenCensusRequestCountByPath = &[view](/go.opencensus.io/stats/view).[View](/go.opencensus.io/stats/view#View){
Name: "request_count_by_path",
Description: "Server request count by HTTP path",
TagKeys: [][tag](/go.opencensus.io/tag).[Key](/go.opencensus.io/tag#Key){[ochttp](/go.opencensus.io/plugin/ochttp).[Path](/go.opencensus.io/plugin/ochttp#Path)},
Measure: [ochttp](/go.opencensus.io/plugin/ochttp).[ServerRequestCount](/go.opencensus.io/plugin/ochttp#ServerRequestCount),
Aggregation: [view](/go.opencensus.io/stats/view).[Count](/go.opencensus.io/stats/view#Count)(),
}
OpenCensusResponseCountByStatusCode = &[view](/go.opencensus.io/stats/view).[View](/go.opencensus.io/stats/view#View){
Name: "response_count_by_status_code",
Description: "Server response count by status code",
TagKeys: [][tag](/go.opencensus.io/tag).[Key](/go.opencensus.io/tag#Key){[ochttp](/go.opencensus.io/plugin/ochttp).[StatusCode](/go.opencensus.io/plugin/ochttp#StatusCode)},
Measure: [ochttp](/go.opencensus.io/plugin/ochttp).[ServerLatency](/go.opencensus.io/plugin/ochttp#ServerLatency),
Aggregation: [view](/go.opencensus.io/stats/view).[Count](/go.opencensus.io/stats/view#Count)(),
})
DefaultCharmLogConfig is the default CharmBracelet Log middleware config.
DefaultLogrusConfig is the default Logrus middleware config.
DefaultOpenCensusConfig is the default OpenCensus middleware config.
DefaultRequestIDConfig is the default RequestID middleware config, based on the echo.RequestIDConfig but with uuid generator instead.
DefaultZapLogConfig is the default Uber ZapLog middleware config.
DefaultZeroLogConfig is the default ZeroLog middleware config.
CharmLog returns a middleware that logs HTTP requests.
This example registers the CharmBracelet Log middleware with default configuration.
e := echo.New()
// Middleware e.Use(middleware.CharmLog())
CharmLogRecoverFn returns a CharmLog recover log function to print panic errors.
This example register the CharmLog log error function to echo middleware Recover.
e := echo.New()
// Middleware e.Use(emw.RecoverWithConfig(emw.RecoverConfig{ LogErrorFunc: middleware.CharmLogRecoverFn(charm.Default()), }))
CharmLogWithConfig returns a CharmBracelet Log middleware with config. See: `CharmLog()`.
This example registers the CharmBracelet Log middleware with custom configuration.
e := echo.New()
// Middleware logConfig := middleware.CharmLogConfig{ Logger: charm.Default(), FieldMap: map[string]string{ "uri": "@uri", "host": "@host", "method": "@method", "status": "@status", }, }
e.Use(middleware.CharmLogWithConfig(logConfig))
Logrus returns a middleware that logs HTTP requests.
This example registers the Logrus middleware with default configuration.
e := echo.New()
// Middleware e.Use(middleware.Logrus())
LogrusRecoverFn returns a Logrus recover log function to print panic errors.
This example register the Logrus log error function to echo middleware Recover.
e := echo.New()
// Custom logrus logger instance logger := logrus.New()
// Middleware e.Use(emw.RecoverWithConfig(emw.RecoverConfig{ LogErrorFunc: middleware.LogrusRecoverFn(logger), }))
LogrusWithConfig returns a Logrus middleware with config. See: `Logrus()`.
This example registers the Logrus middleware with custom configuration.
e := echo.New()
// Custom logrus logger instance logger := logrus.New()
// Middleware logConfig := middleware.LogrusConfig{ Logger: logger, FieldMap: map[string]string{ "uri": "@uri", "host": "@host", "method": "@method", "status": "@status", }, }
e.Use(middleware.LogrusWithConfig(logConfig))
OpenCensus returns a middleware that collect HTTP requests and response metrics.
This example registers the OpenCensus middleware with default configuration.
e := echo.New()
// Middleware e.Use(middleware.OpenCensus())
OpenCensusWithConfig returns a OpenCensus middleware with config. See: `OpenCensus()`.
This example registers the OpenCensus middleware with custom configuration.
e := echo.New()
// Middleware cfg := middleware.OpenCensusConfig{ Views: []*view.View{ middleware.OpenCensusRequestCount, }, }
e.Use(middleware.OpenCensusWithConfig(cfg))
RequestID returns a middleware that reads or generates a new request id and returns to response, also stores in context.
This example registers the RequestID middleware with default configuration.
e := echo.New()
// Middleware e.Use(middleware.RequestID())
RequestIDValue returns the value stored in the context, otherwise returns an empty string
RequestIDWithConfig uses the echo.RequestIDWithConfig under the hood with custom generator and sets the request id in context.
This example registers the RequestID middleware with custom configuration.
e := echo.New()
// Middleware config := middleware.RequestIDConfig{ TargetHeader: echo.HeaderXRequestID, }
e.Use(middleware.RequestIDWithConfig(config))
ZapLog returns a middleware that logs HTTP requests.
This example registers the ZapLog middleware with default configuration.
e := echo.New()
// Middleware e.Use(middleware.ZapLog())
ZapLogRecoverFn returns a ZapLog recover log function to print panic errors.
This example register the ZapLog log error function to echo middleware Recover.
e := echo.New()
// Custom ZapLog logger instance logger, _ := zap.NewProduction()
// Middleware e.Use(emw.RecoverWithConfig(emw.RecoverConfig{ LogErrorFunc: middleware.ZapLogRecoverFn(logger), }))
ZapLogWithConfig returns a Uber ZapLog middleware with config. See: `ZapLog()`.
This example registers the ZapLog middleware with custom configuration.
e := echo.New()
// Custom ZapLog logger instance logger, _ := zap.NewProduction()
// Middleware logConfig := middleware.ZapLogConfig{ Logger: logger, FieldMap: map[string]string{ "uri": "@uri", "host": "@host", "method": "@method", "status": "@status", }, }
e.Use(middleware.ZapLogWithConfig(logConfig))
ZeroLog returns a middleware that logs HTTP requests.
This example registers the ZeroLog middleware with default configuration.
e := echo.New()
// Middleware e.Use(middleware.ZeroLog())
ZeroLogRecoverFn returns a ZeroLog recover log function to print panic errors.
This example register the ZeroLog log error function to echo middleware Recover.
e := echo.New()
// Custom zerolog logger instance logger := zerolog.New(os.Stderr).With().Timestamp().Logger()
// Middleware e.Use(emw.RecoverWithConfig(emw.RecoverConfig{ LogErrorFunc: middleware.ZeroLogRecoverFn(logger), }))
ZeroLogWithConfig returns a ZeroLog middleware with config. See: `ZeroLog()`.
This example registers the ZeroLog middleware with custom configuration.
e := echo.New()
// Custom zerolog logger instance logger := zerolog.New(os.Stderr).With().Timestamp().Logger()
// Middleware logConfig := middleware.ZeroLogConfig{ Logger: logger, FieldMap: map[string]string{ "uri": "@uri", "host": "@host", "method": "@method", "status": "@status", }, }
e.Use(middleware.ZeroLogWithConfig(logConfig))
CharmLogConfig defines the config for CharmBracelet Log middleware.
LogrusConfig defines the config for Logrus middleware.
OpenCensusConfig defines the config for OpenCensus middleware.
RequestIDConfig alias for emw.RequestIDConfig
ZapLogConfig defines the config for Uber ZapLog middleware.
ZeroLogConfig defines the config for ZeroLog middleware.