Documentation
¶
Index ¶
- Constants
- func Gravatar(email string, s int) string
- func Host(r *http.Request) string
- func IdFromContext(ctx context.Context) (string, bool)
- func Marshal(v interface{}) template.JS
- func SetBind(bind string) func(*Milo) error
- func SetPort(port int) func(*Milo) error
- func SetPortInc(inc bool) func(*Milo) error
- func Title(word string) string
- func TokenFromContext(ctx context.Context) (string, bool)
- type AuthBase
- func (ab *AuthBase) AuthMiddleware(fn http.HandlerFunc, overrideAuthCheck ...AuthCheck) http.HandlerFunc
- func (ab *AuthBase) AuthMiddlewareCookie(fn http.HandlerFunc, overrideAuthCheck ...AuthCheck) http.HandlerFunc
- func (ab *AuthBase) AuthMiddlewareToken(fn http.HandlerFunc, overrideAuthCheck ...AuthCheck) http.HandlerFunc
- func (ab *AuthBase) DoLogin(w http.ResponseWriter, r *http.Request, id string) error
- func (ab *AuthBase) DoLogout(w http.ResponseWriter, r *http.Request) error
- type AuthCheck
- type Configer
- type FlashBase
- func (fb *FlashBase) GetFlashes(w http.ResponseWriter, r *http.Request) ([]interface{}, []interface{})
- func (fb *FlashBase) RenderTemplates(w http.ResponseWriter, r *http.Request, data map[string]interface{}, ...)
- func (fb *FlashBase) SetErrorFlash(w http.ResponseWriter, r *http.Request, message string)
- func (fb *FlashBase) SetSuccessFlash(w http.ResponseWriter, r *http.Request, message string)
- type Milo
- func (m *Milo) PathPrefix(path string, methods []string, hf http.HandlerFunc)
- func (m *Milo) RegisterAfter(mw MiloMiddlware)
- func (m *Milo) RegisterBefore(mw MiloMiddlware)
- func (m *Milo) RegisterDefaultErrorHandler(h http.HandlerFunc)
- func (m *Milo) RegisterLogger(l MiloLogger)
- func (m *Milo) RegisterNotFound(h http.HandlerFunc)
- func (m *Milo) Route(path string, methods []string, hf http.HandlerFunc)
- func (m *Milo) RouteAsset(prefix, dir string)
- func (m *Milo) RouteAssetStripPrefix(prefix, dir string)
- func (m *Milo) RouteWebsocket(path string, hf func(ws *websocket.Conn))
- func (m *Milo) Run()
- func (m *Milo) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (m *Milo) String() string
- func (m *Milo) SubRoute(prefix, path string, methods []string, hf http.HandlerFunc)
- type MiloLogger
- type MiloMiddlware
- type MsgRender
- type Renderer
- func (mr *Renderer) Partial(name string, payload interface{}) (template.HTML, error)
- func (mr *Renderer) Redirect(w http.ResponseWriter, r *http.Request, url string, code int)
- func (mr *Renderer) RegisterTemplateFunc(key string, fn interface{})
- func (mr *Renderer) RenderError(w http.ResponseWriter, r *http.Request, code int, message string)
- func (mr *Renderer) RenderJson(w http.ResponseWriter, r *http.Request, data interface{})
- func (mr *Renderer) RenderMessage(w http.ResponseWriter, r *http.Request, message string)
- func (mr *Renderer) RenderTemplates(w http.ResponseWriter, r *http.Request, data map[string]interface{}, ...)
- func (mr *Renderer) RenderTemplatesCode(w http.ResponseWriter, r *http.Request, code int, data map[string]interface{}, ...)
Constants ¶
const ( SessFlash = "session_flash" FlashError = "flasherror" FlashSuccess = "flashsuccess" )
const (
BIND_ERR = "bind: address already in use"
)
Variables ¶
This section is empty.
Functions ¶
func Marshal ¶
Get a json encoding of an object from the backend. Can be used like {{ marshal .user }}
func SetPortInc ¶
Configuration option to change the port increment.
Types ¶
type AuthBase ¶
type AuthBase struct {
*FlashBase
// contains filtered or unexported fields
}
func NewAuthBaseCustom ¶
func (*AuthBase) AuthMiddleware ¶
func (ab *AuthBase) AuthMiddleware(fn http.HandlerFunc, overrideAuthCheck ...AuthCheck) http.HandlerFunc
func (*AuthBase) AuthMiddlewareCookie ¶
func (ab *AuthBase) AuthMiddlewareCookie(fn http.HandlerFunc, overrideAuthCheck ...AuthCheck) http.HandlerFunc
func (*AuthBase) AuthMiddlewareToken ¶
func (ab *AuthBase) AuthMiddlewareToken(fn http.HandlerFunc, overrideAuthCheck ...AuthCheck) http.HandlerFunc
type Configer ¶
type Configer interface {
GetConfig(key string) interface{}
}
An interface to define a way to get config items always into template rendering
type FlashBase ¶
type FlashBase struct {
*Renderer
// contains filtered or unexported fields
}
func (*FlashBase) GetFlashes ¶
func (fb *FlashBase) GetFlashes(w http.ResponseWriter, r *http.Request) ([]interface{}, []interface{})
func (*FlashBase) RenderTemplates ¶
func (*FlashBase) SetErrorFlash ¶
func (*FlashBase) SetSuccessFlash ¶
type Milo ¶
type Milo struct {
// contains filtered or unexported fields
}
This is the default application.
func NewMiloApp ¶
Create a new milo app. Uses the config object.
func (*Milo) PathPrefix ¶
func (m *Milo) PathPrefix(path string, methods []string, hf http.HandlerFunc)
Setup a route to be executed when the specific path prefix is matched, uses the gorilla mux router.
func (*Milo) RegisterAfter ¶
func (m *Milo) RegisterAfter(mw MiloMiddlware)
Add after request middleware to the global middleware stack.
func (*Milo) RegisterBefore ¶
func (m *Milo) RegisterBefore(mw MiloMiddlware)
Add before request middleware to the global middlware stack.
func (*Milo) RegisterDefaultErrorHandler ¶
func (m *Milo) RegisterDefaultErrorHandler(h http.HandlerFunc)
Register an error handler for when things go crazy.
func (*Milo) RegisterLogger ¶
func (m *Milo) RegisterLogger(l MiloLogger)
Register your own implementation of the milo logger.
func (*Milo) RegisterNotFound ¶
func (m *Milo) RegisterNotFound(h http.HandlerFunc)
Register a not found handler so you can capture 404 errors.
func (*Milo) Route ¶
func (m *Milo) Route(path string, methods []string, hf http.HandlerFunc)
Setup a route to be executed when the path is matched, uses the gorilla mux router.
func (*Milo) RouteAsset ¶
Handle assets rooted in different directories.
func (*Milo) RouteAssetStripPrefix ¶
Handle assets rooted in different directories, strips prefix.
func (*Milo) RouteWebsocket ¶
Handling websocket connection.
type MiloLogger ¶
type MiloLogger interface {
Log(message string)
LogError(err error)
LogInterfaces(items ...interface{})
LogFatal(items ...interface{})
LogStackTrace()
}
Methods to specify a logger for the milo app.
type MiloMiddlware ¶
type MiloMiddlware func(w http.ResponseWriter, r *http.Request) bool
type MsgRender ¶
type MsgRender struct {
// contains filtered or unexported fields
}
func NewMsgRender ¶
func (*MsgRender) RegisterTemplateFunc ¶
type Renderer ¶
Default milo renderer that can cache templates, sets a base template directory.
func NewRenderer ¶
Create a new default milo renderer.
func (*Renderer) RegisterTemplateFunc ¶
Register a template function with the MiloRenderer
func (*Renderer) RenderError ¶
func (*Renderer) RenderJson ¶
func (mr *Renderer) RenderJson(w http.ResponseWriter, r *http.Request, data interface{})
Render json output
func (*Renderer) RenderMessage ¶
func (*Renderer) RenderTemplates ¶
func (mr *Renderer) RenderTemplates(w http.ResponseWriter, r *http.Request, data map[string]interface{}, tpls ...string)
Takes care of rendering templates from file, passes a status 200.
func (*Renderer) RenderTemplatesCode ¶
func (mr *Renderer) RenderTemplatesCode(w http.ResponseWriter, r *http.Request, code int, data map[string]interface{}, tpls ...string)
Takes the care of rendering templates, with an explicit status code.