middleware

package
v0.0.0-...-e8da0a6 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultLoggerConfig is the default Logger middleware config.
	DefaultLoggerConfig = LoggerConfig{
		Skipper: middleware.DefaultSkipper,
		Format: `{"time":${time_rfc3339_nano},"id":${id},"remote_ip":${remote_ip},` +
			`"host":${host},"method":${method},"uri":${uri},"user_agent":${user_agent},` +
			`"status":${status},"error":${error},"latency":${latency},"latency_human":${latency_human}` +
			`,"bytes_in":${bytes_in},"bytes_out":${bytes_out}}` + "\n",
		CustomTimeFormat: "2006-01-02 15:04:05.00000",
		// contains filtered or unexported fields
	}
)

Functions

func ErrorLogger

func ErrorLogger(err error, ctx echo.Context, logger logr.Logger)

func ErrorResponder

func ErrorResponder(err error, ctx echo.Context)

func Logger

func Logger() echo.MiddlewareFunc

Logger returns a middleware that logs HTTP requests.

func LoggerWithConfig

func LoggerWithConfig(config LoggerConfig) echo.MiddlewareFunc

LoggerWithConfig returns a Logger middleware with config. See: `Logger()`.

func ParseTemplate

func ParseTemplate(template, starttag, endtag string) (texts [][]byte, tags []string, err error)

func Recover

func Recover(skipper ...middleware.Skipper) func(next echo.HandlerFunc) echo.HandlerFunc

func ServiceLogger

func ServiceLogger(w io.Writer) echo.MiddlewareFunc

func SetCORS

func SetCORS(cfg CORSConfig) echo.MiddlewareFunc

Types

type CORSConfig

type CORSConfig struct {
	AllowOrigins string `yaml:"allowOrigins,omitempty"`
	AllowMethods string `yaml:"allowMethods,omitempty"`
}

type LoggerConfig

type LoggerConfig struct {
	// Skipper defines a function to skip middleware.
	Skipper middleware.Skipper

	// Tags to construct the logger format.
	//
	// - time_unix
	// - time_unix_nano
	// - time_rfc3339
	// - time_rfc3339_nano
	// - time_custom
	// - id (Request ID)
	// - remote_ip
	// - uri
	// - host
	// - method
	// - path
	// - protocol
	// - referer
	// - user_agent
	// - status
	// - error
	// - latency (In nanoseconds)
	// - latency_human (Human readable)
	// - bytes_in (Bytes received)
	// - bytes_out (Bytes sent)
	// - header:<NAME>
	// - query:<NAME>
	// - form:<NAME>
	//
	// Example "${remote_ip} ${status}"
	//
	// Optional. Default value DefaultLoggerConfig.Format.
	Format string `yaml:"format"`

	// Optional. Default value DefaultLoggerConfig.CustomTimeFormat.
	CustomTimeFormat string `yaml:"custom_time_format"`

	// Output is a writer where logs in JSON format are written.
	// Optional. Default value os.Stdout.
	Output io.Writer
	// contains filtered or unexported fields
}

LoggerConfig defines the config for Logger middleware.

Jump to

Keyboard shortcuts

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