Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFavicon ¶ added in v0.8.0
func NewFavicon(iconpath string) gear.Middleware
NewFavicon returns a middleware to serve favicon from the provided directory.
package main import ( "github.com/teambition/gear" "github.com/teambition/gear/middleware" ) func main() { app := gear.New() app.Use(gear.NewDefaultLogger()) app.Use(middleware.NewFavicon("./testdata/favicon.ico")) app.Use(func(ctx *gear.Context) error { return ctx.HTML(200, "<h1>Hello, Gear!</h1>") }) app.Error(app.Listen(":3000")) }
func NewStatic ¶
func NewStatic(opts StaticOptions) gear.Middleware
NewStatic returns a Static middleware to serves static content from the provided root directory.
package main import ( "github.com/teambition/gear" "github.com/teambition/gear/middleware" ) func main() { app := gear.New() app.Use(gear.NewDefaultLogger()) app.Use(middleware.NewFavicon("./testdata/favicon.ico")) app.Use(middleware.NewStatic(middleware.StaticOptions{ Root: "./testdata", Prefix: "/", StripPrefix: false, })) app.Use(func(ctx *gear.Context) error { return ctx.HTML(200, "<h1>Hello, Gear!</h1>") }) app.Error(app.Listen(":3000")) }
func NewTimeout ¶ added in v0.7.0
NewTimeout returns a timeout middleware with time.Duration and timeout hook. A timeout middleware example:
app := gear.New() app.Use(NewTimeout(time.Second, func(ctx *gear.Context) { // timeout hook ctx.Status(504) ctx.String("Service timeout") })) app.Use(func(ctx *gear.Context) error { // some process maybe timeout... c, _ := ctx.WithTimeout(time.Second * 2) select { case <-ctx.Done(): // this case will always reached case <-c.Done(): // this case maybe reached... but elapsed time should be 1 sec. } return nil }) app.Use(func(ctx *gear.Context) error { // if timeout, the rest of middleware will not run. panic("this middleware unreachable") })
Types ¶
type StaticOptions ¶
type StaticOptions struct { Root string // The directory you wish to serve Prefix string // The url prefix you wish to serve as static request, default to `'/'`. StripPrefix bool // Strip the prefix from URL path, default to `false`. }
StaticOptions is static middleware options
Click to show internal directories.
Click to hide internal directories.