iris/_examples/routing/dynamic-path/same-pattern-different-func/use-global/main.go
Gerasimos (Makis) Maropoulos 38b0a796bd fix #1552
Former-commit-id: 953df27468e3905e557bb1f6a97ea431cb60f6a6
2020-07-06 19:08:02 +03:00

43 lines
856 B
Go

package main // #1552
import (
"github.com/kataras/iris/v12"
)
func main() {
app := newApp()
app.Listen(":8080")
}
func newApp() *iris.Application {
app := iris.New()
app.UseGlobal(middleware("first"))
app.UseGlobal(middleware("second"))
app.DoneGlobal(onDone)
app.Get("/{name prefix(one)}", handler("first route"))
app.Get("/{name prefix(two)}", handler("second route"))
app.Get("/{name prefix(three)}", handler("third route"))
return app
}
func middleware(str string) iris.Handler {
return func(ctx iris.Context) {
ctx.Writef("Called %s middleware\n", str)
ctx.Next()
}
}
func handler(str string) iris.Handler {
return func(ctx iris.Context) {
ctx.Writef("%s\n", str)
ctx.Next() // or ignroe that and use app.SetRegisterRules.
}
}
func onDone(ctx iris.Context) {
ctx.Writef("Called done: %s", ctx.Params().Get("name"))
}