Middlewares and helper modules allow you easily plugin/unplugin features for your Macaron applications.
There are already many middlewares and modules to simplify your work:
- auth - HTTP Basic authentication
- authz - ACL, RBAC and ABAC authorization based on Casbin
- bindata - Embed binary data as static and template files
- binding - Request data binding and validation
- cache - Cache manager
- captcha - Captcha service
- csrf - Generates and validates CSRF tokens
- gzip - Gzip compression to all responses
- i18n - Internationalization and Localization
- inject - Map and inject dependencies
- jade - Jade templating engine
- method - HTTP method override
- oauth2 - OAuth 2.0 backend client
- permissions2 - Cookies, users and permissions
- pongo2 - Pongo2 template engine support
- renders - Beego-like render engine (Macaron has built-in template engine, this is another option)
- session - Session manager
- sockets - WebSockets channels binding
- switcher - Multiple-site support
- toolbox - Health check, pprof, profile and statistic services
Some middlewares depends on others, here is a list for best ordering:
macaron.Logger()macaron.Recovery()gzip.Gziper()macaron.Static()macaron.Renderer()/pongo2.Pongoer()i18n.I18n()cache.Cacher()captcha.Captchaer()session.Sessioner()csrf.Csrfer()toolbox.Toolboxer()