ion 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 third-party handlers:
| Middleware | Author | Description |
|---|---|---|
| jwt | Auth0 | Middleware checks for a JWT on the Authorization header on incoming requests and decodes it. Example |
| cors | rs | HTTP Access Control. Example |
| secure | Cory Jacobsen | Middleware that implements a few quick security wins. Example |
| tollbooth | Didip Kerabat | Generic middleware to rate-limit HTTP requests. Example |
| goth | Mark Bates | OAuth, OAuth2 authentication. Example |
| binding | Matt Holt | Data binding from HTTP requests into structs |
| cloudwatch | Colin Steele | AWS cloudwatch metrics middleware |
| csp | Awake Networks | Content Security Policy (CSP) support |
| delay | Jeff Martinez | Add delays/latency to endpoints. Useful when testing effects of high latency |
| New Relic Go Agent | Yadvendar Champawat | Official New Relic Go Agent |
| gorelic | Jingwen Owen Ou | New Relic agent for Go runtime |
| onthefly | Alexander Rødseth | Generate TinySVG, HTML and CSS on the fly |
| permissions2 | Alexander Rødseth | Cookies, users and permissions |
| prometheus | Rene Zbinden | Easily create metrics endpoint for the prometheus instrumentation tool |
| RestGate | Prasanga Siripala | Secure authentication for REST API endpoints |
| stats | Florent Messa | Store information about your web application (response time, etc.) |
| VanGoH | Taylor Wrobel | Configurable AWS-Style HMAC authentication middleware |
| xrequestid | Andrea Franz | Middleware that assigns a random X-Request-Id header to each request |
| digits | Bilal Amarni | Middleware that handles Twitter Digits authentication |