概要
Echo の middleware の実行順が気になったので試した。
コード
func main() {
e := echo.New()
e.Use(middleware.Hoge()) // fmt.Println("Hoge")
e.Use(middleware.Foo()) // fmt.Println("Foo")
e.Use(middleware.Bar()) // fmt.Println("Bar")
e.GET("/", func(c echo.Context) error {
var err error
defer func() {
if err != nil {
e.Logger.Errorf("%+v", err)
}
}()
fmt.Println("Request recieved")
return c.String(http.StatusOK, "Hello, World")
})
e.Logger.Fatal(e.Start(":8080"))
}
// 実行結果
// Hoge
// Foo
// Bar
// Request recieved
予想通り、 Use した順に実行された。
以上