Documentation ¶
Index ¶
- Variables
- func Denylist(options *DenylistOptions) web.Middleware
- func Errors(logger *logrus.Logger) web.Middleware
- func IPAllowlist(options *IPAllowListOptions) web.Middleware
- func Logger(logger *logrus.Logger) web.Middleware
- func MIMETypeIdentifier(logger *logrus.Logger) web.Middleware
- func Panics(logger *logrus.Logger) web.Middleware
- func Proxy(options *ProxyOptions) web.Middleware
- func ShadowAPIMonitor(logger *logrus.Logger, cfg *config.ShadowAPI) web.Middleware
- func WAFModSecurity(options *ModSecurityOptions) web.Middleware
- type DenylistOptions
- type IPAllowListOptions
- type ModSecurityOptions
- type ProxyOptions
Constants ¶
This section is empty.
Variables ¶
var ErrModSecMaliciousRequest = errors.New("malicious request")
Functions ¶
func Denylist ¶ added in v0.6.8
func Denylist(options *DenylistOptions) web.Middleware
Denylist forbidden requests with tokens in the blacklist
func Errors ¶
func Errors(logger *logrus.Logger) web.Middleware
Errors handles errors coming out of the call chain. It detects normal application errors which are used to respond to the client in a uniform way. Unexpected errors (status >= 500) are logged.
func IPAllowlist ¶ added in v0.6.16
func IPAllowlist(options *IPAllowListOptions) web.Middleware
The IPAllowlist function checks if an IP is allowed else gives error
func Logger ¶
func Logger(logger *logrus.Logger) web.Middleware
Logger writes some information about the request to the logs in the format: TraceID : (200) GET /foo -> IP ADDR (latency)
func MIMETypeIdentifier ¶ added in v0.6.12
func MIMETypeIdentifier(logger *logrus.Logger) web.Middleware
MIMETypeIdentifier identifies the MIME type of the content in case of CT header is missing
func Panics ¶
func Panics(logger *logrus.Logger) web.Middleware
Panics recovers from panics and converts the panic to an error so it is reported in Metrics and handled in Errors.
func Proxy ¶
func Proxy(options *ProxyOptions) web.Middleware
Proxy changes request scheme before request
func ShadowAPIMonitor ¶ added in v0.6.12
ShadowAPIMonitor check each request for the params, methods or paths that are not specified in the OpenAPI specification and log each violation
func WAFModSecurity ¶ added in v0.7.0
func WAFModSecurity(options *ModSecurityOptions) web.Middleware
Types ¶
type DenylistOptions ¶ added in v0.6.13
type IPAllowListOptions ¶ added in v0.6.16
type IPAllowListOptions struct { Mode string Config *config.AllowIP CustomBlockStatusCode int AllowedIPs *allowiplist.AllowedIPsType Logger *logrus.Logger }