Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
47 lines (39 sloc) 2.2 KB
name
Middlewares

Middlewares and helper modules

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
  • 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
  • authz - ACL, RBAC and ABAC authorization based on Casbin
  • 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

Best register order for middlewares

Some middlewares depends on others, here is a list for best ordering:

  1. macaron.Logger()
  2. macaron.Recovery()
  3. gzip.Gziper()
  4. macaron.Static()
  5. macaron.Renderer()/pongo2.Pongoer()
  6. i18n.I18n()
  7. cache.Cacher()
  8. captcha.Captchaer()
  9. session.Sessioner()
  10. csrf.Csrfer()
  11. toolbox.Toolboxer()