iris/middleware
Gerasimos (Makis) Maropoulos ed45c77be5 reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker
Former-commit-id: ed635ee95de7160cde11eaabc0c1dcb0e460a620
2020-06-07 15:26:06 +03:00
..
basicauth reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
grpc add a full gRPC example as previously requested at: https://github.com/kataras/iris/issues/1449 2020-03-07 12:53:23 +02:00
hcaptcha reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
jwt reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
logger reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
methodoverride version 12.1.5 2020-02-02 16:29:06 +02:00
pprof reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
rate reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
recaptcha more route info improvements 2020-04-28 22:34:36 +03:00
recover reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
requestid reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00
README.md reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker 2020-06-07 15:26:06 +03:00

Builtin Handlers

Middleware Example
basic authentication iris/_examples/auth/basicauth
request logger iris/_examples/logging/request-logger
HTTP method override iris/middleware/methodoverride/methodoverride_test.go
profiling (pprof) iris/_examples/pprof
Google reCAPTCHA iris/_examples/auth/recaptcha
hCaptcha iris/_examples/auth/recaptcha
recovery iris/_examples/recover
rate iris/_examples/request-ratelimit
jwt iris/_examples/auth/jwt
requestid iris/middleware/requestid/requestid_test.go

Community made

Most of the experimental handlers are ported to work with iris's handler form, from third-party sources.

Middleware Description Example
jwt Middleware checks for a JWT on the Authorization header on incoming requests and decodes it iris-contrib/middleware/jwt/_example
cors HTTP Access Control iris-contrib/middleware/cors/_example
secure Middleware that implements a few quick security wins iris-contrib/middleware/secure/_example
tollbooth Generic middleware to rate-limit HTTP requests iris-contrib/middleware/tollboothic/_examples/limit-handler
cloudwatch AWS cloudwatch metrics middleware iris-contrib/middleware/cloudwatch/_example
new relic Official New Relic Go Agent iris-contrib/middleware/newrelic/_example
prometheus Easily create metrics endpoint for the prometheus instrumentation tool iris-contrib/middleware/prometheus/_example
casbin An authorization library that supports access control models like ACL, RBAC, ABAC iris-contrib/middleware/casbin/_examples
raven Sentry client in Go iris-contrib/middleware/raven/_example
csrf Cross-Site Request Forgery Protection iris-contrib/middleware/csrf/_example
go-i18n i18n Iris Loader for nicksnyder/go-i18n iris-contrib/middleware/go-i18n/_example
throttler Rate limiting access to HTTP endpoints iris-contrib/middleware/throttler/_example

Third-Party Handlers

Iris has its own middleware form of func(ctx context.Context) but it's also compatible with all net/http middleware forms. See here.

Here's a small list of useful third-party handlers:

Middleware Description
goth OAuth, OAuth2 authentication. Example
permissions2 Cookies, users and permissions. Example
csp Content Security Policy (CSP) support
delay Add delays/latency to endpoints. Useful when testing effects of high latency
onthefly Generate TinySVG, HTML and CSS on the fly
RestGate Secure authentication for REST API endpoints
stats Store information about your web application (response time, etc.)
VanGoH Configurable AWS-Style HMAC authentication middleware
digits Middleware that handles Twitter Digits authentication

Feel free to put up your own middleware in this list!