1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-17 18:07:01 +00:00
Former-commit-id: 2eb94ec0f565b80790784ac55af024429384b3d3
This commit is contained in:
Gerasimos (Makis) Maropoulos
2018-02-08 14:04:39 +02:00
parent 5d62b5d428
commit 9cdae4ee67
18 changed files with 168 additions and 56 deletions

View File

@@ -6,16 +6,29 @@ func main() {
app := iris.New()
// register the "before" handler as the first handler which will be executed
// on all domain's routes.
// or use the `UseGlobal` to register a middleware which will fire across subdomains.
app.Use(before)
// Or use the `UseGlobal` to register a middleware which will fire across subdomains.
// app.Use(before)
// register the "after" handler as the last handler which will be executed
// after all domain's routes' handler(s).
app.Done(after)
//
// Or use the `DoneGlobal` to append handlers that will be fired globally.
// app.Done(after)
// register our routes.
app.Get("/", indexHandler)
app.Get("/contact", contactHandler)
// Order of those calls doesn't matter, `UseGlobal` and `DoneGlobal`
// are applied to existing routes and future routes.
//
// Remember: the `Use` and `Done` are applied to the current party's and its children,
// so if we used the `app.Use/Don`e before the routes registration
// it would work like UseGlobal/DoneGlobal in this case, because the `app` is the root party.
//
// See `app.Party/PartyFunc` for more.
app.UseGlobal(before)
app.DoneGlobal(after)
app.Run(iris.Addr(":8080"))
}
@@ -43,7 +56,7 @@ func indexHandler(ctx iris.Context) {
ctx.HTML("<h1>Response</h1>")
ctx.HTML("<br/> Info: " + info)
ctx.Next() // execute the "after" handler registered via `Done`.
ctx.Next() // execute the "after" handler registered via `DoneGlobal`.
}
func contactHandler(ctx iris.Context) {
@@ -52,5 +65,5 @@ func contactHandler(ctx iris.Context) {
// write something to the client as a response.
ctx.HTML("<h1>Contact</h1>")
ctx.Next() // execute the "after" handler registered via `Done`.
ctx.Next() // execute the "after" handler registered via `DoneGlobal`.
}