Third Party Middleware

June 29, 2017 · View on GitHub

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

I'm sure that each of you have, already, found his own favorite list but here's a small list of third-party handlers:

MiddlewareAuthorDescription
tollboothDidip KerabatGeneric middleware to rate-limit HTTP requests. Example
gothMark BatesOAuth, OAuth2 authentication. Example
bindingMatt HoltData binding from HTTP requests into structs
cloudwatchColin SteeleAWS cloudwatch metrics middleware
cspAwake NetworksContent Security Policy (CSP) support
delayJeff MartinezAdd delays/latency to endpoints. Useful when testing effects of high latency
New Relic Go AgentYadvendar ChampawatOfficial New Relic Go Agent (currently in beta)
gorelicJingwen Owen OuNew Relic agent for Go runtime
JWTAuth0Middleware checks for a JWT on the Authorization header on incoming requests and decodes it. Example
logrusDan BuchLogrus-based logger
ontheflyAlexander RødsethGenerate TinySVG, HTML and CSS on the fly
permissions2Alexander RødsethCookies, users and permissions
prometheusRene ZbindenEasily create metrics endpoint for the prometheus instrumentation tool
renderCory JacobsenRender JSON, XML and HTML templates
RestGatePrasanga SiripalaSecure authentication for REST API endpoints
secureCory JacobsenMiddleware that implements a few quick security wins
statsFlorent MessaStore information about your web application (response time, etc.)
VanGoHTaylor WrobelConfigurable AWS-Style HMAC authentication middleware
xrequestidAndrea FranzMiddleware that assigns a random X-Request-Id header to each request
digitsBilal AmarniMiddleware that handles Twitter Digits authentication

Feel free to put up a PR your middleware!