Using middleware
package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/recover"
)
func main() {
// Creates an iris application without any middleware by default
app := iris.New()
// Global middleware using `UseRouter`.
//
// Recovery middleware recovers from any panics and writes a 500 if there was one.
app.UseRouter(recover.New())
// Per route middleware, you can add as many as you desire.
app.Get("/benchmark", MyBenchLogger(), benchEndpoint)
// Authorization group
// authorized := app.Party("/", AuthRequired())
// exactly the same as:
authorized := app.Party("/")
// per group middleware! in this case we use the custom created
// AuthRequired() middleware just in the "authorized" group.
authorized.Use(AuthRequired())
{
authorized.Post("/login", loginEndpoint)
authorized.Post("/submit", submitEndpoint)
authorized.Post("/read", readEndpoint)
// nested group
testing := authorized.Party("testing")
testing.Get("/analytics", analyticsEndpoint)
}
// Listen and serve on 0.0.0.0:8080
app.Listen(":8080")
}