-
Notifications
You must be signed in to change notification settings - Fork 228
Third Party Libraries
Alexander F Rødseth edited this page Dec 3, 2015
·
29 revisions
Goji is already compatible with a great many third-party libraries that are themselves compatible with net/http
, however some library authors have gone out of their way to include Goji compatibility specifically, perhaps by integrating more tightly with Goji's web.C
or by providing a custom pattern type. A few such libraries are listed below:
- httpauth – HTTP Basic Authentication middleware for Go web services. Compatible with Goji, Gorilla, Gin & net/http (amongst many others).
-
goji/csrf – Cross Site Forgery Protection (CSRF) middleware for Goji with signed cookies. Leverages Goji's
web.C
request context and avoids a global map. - Middleware to set a few common security options
- Example Gzip Middleware
- Gzip Middleware package
- nosurf (CSRF Protection) that has a simple example on using it with Goji.
- gorilla/handlers — a small collection of logging and gzip middleware.
- keengo - a middleware that logs requests/responses to keen.io.
-
context — a middleware that integrates Goji with
go.net
'scontext.Context
- tt_goji_middleware - a collection of middleware including rate limiting via redis, sessions (with redis, postgres and memory backends), logging, simple caching headers, reporting errors to sentry, and, because everyone does it, gzip.
- tt_goji_oauth - add login with OAUTH to your Goji app - currently "login with Github" only.
- cors - a simple middleware to add CORS support to you API with a simple Goji integration example.
- cji - an inline middleware chain for Goji web apps.
- reverse - URL reverse package.
- balaur - An app container for goji (manage independent mini apps)
- sessions - Simple server-side sessions for Goji
- Minify middleware - HTML, Inline CSS & JS minification simple example on using it with Goji
- recover - HTTP recovery middleware
- deferpanic middleware - DeferPanic middlware with an example
- negotiator - HTTP Content Negotiation
- permissions2 - Handle users, login states and permissions
If you'd like to develop a library or integration for Goji and would like an ever-so-slightly blessed repository to put your work in, send Carl an email—ideally with some kind of design document or code or other "proof of work"—and he can create you a repository in the official Goji contrib organization.