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/tollbooth/_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 | raven/_example |
csrf | Cross-Site Request Forgery Protection | csrf/_example (hard-tested for Iris) NEW |
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 |
binding | Data binding from HTTP requests into structs |
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 |
permissions2 | Cookies, users and permissions |
RestGate | Secure authentication for REST API endpoints |
stats | Store information about your web application (response time, etc.) |
VanGoH | Configurable AWS-Style HMAC authentication middleware |
xrequestid | Middleware that assigns a random X-Request-Id header to each request |
digits | Middleware that handles Twitter Digits authentication |
Feel free to put up your own middleware in this list!