FAQs
How do I integrate with existing servers?
Every Macaron instance implements http.Handler
, so it can easily be used to serve subtrees on existing Go servers. For example this is a working Macaron app for Google App Engine:
How do I change the port/host?
Macaron's Run
function looks for the PORT
and HOST
environment variables and uses those. Otherwise Macaron will default to localhost:4000. To have more flexibility over port and host, use the http.ListenAndServe
function instead.
Or following ways:
m.Run("0.0.0.0")
, listen on0.0.0.0:4000
m.Run(8080)
, listen on0.0.0.0:8080
m.Run("0.0.0.0", 8080)
, listen on0.0.0.0:8080
How do I graceful shutdown?
How do I pass data in request-level other than service inject?
There is a field called Data
with type map[string]interface{}
in *macaron.Context
where you can store and retrieve any type of data. It comes with *macaron.Context
so every request is independent.
See example here.
What's the idea behind this other than Martini?
Integrate frequently used middlewares and helper methods with less reflection.
Replace default router with faster multi-tree router.
Make it much easier to power Gogs project.
Make a deep source study against Martini.
Why Logo is a dragon?
Shouldn't it be some sort of dessert?
The transliteration of Macaron in Chinese is Maca Long
, Long
means dragon, so actually the Logo is a dragon whose name is Maca
. Hah!
Live code reload?
Bra is the prefect fit for live reloading Macaron and other apps.
Last updated