Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var PopTransaction = func(db *pop.Connection) buffalo.MiddlewareFunc { return func(h buffalo.Handler) buffalo.Handler { return func(c buffalo.Context) error { err := db.Transaction(func(tx *pop.Connection) error { start := tx.Elapsed defer func() { finished := tx.Elapsed elapsed := time.Duration(finished - start) c.LogField("db", elapsed) }() c.Set("tx", tx) if err := h(c); err != nil { return err } if res, ok := c.Response().(*buffalo.Response); ok { if res.Status < 200 || res.Status >= 400 { return errNonSuccess } } return nil }) if err != nil && errors.Cause(err) != errNonSuccess { return err } return nil } } }
PopTransaction is a piece of Buffalo middleware that wraps each request in a transaction that will automatically get committed or rolledback. It will also add a field to the log, "db", that shows the total duration spent during the request making database calls.
Functions ¶
func AddContentType ¶ added in v0.4.7
func AddContentType(s string) buffalo.MiddlewareFunc
AddContentType will add a secondary content type to a request. If no content type is sent by the client the default will be set, otherwise the client's content type will be used.
func ParameterLogger ¶ added in v0.8.1
ParameterLogger logs form and parameter values to the logger
func SetContentType ¶ added in v0.4.7
func SetContentType(s string) buffalo.MiddlewareFunc
SetContentType on the request to desired type. This will override any content type sent by the client.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.