2018-01-01 21:08:14 +01:00
|
|
|
// Package main shows how you can add middleware to an mvc Application, simply
|
|
|
|
// by using its `Router` which is a sub router(an iris.Party) of the main iris app.
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
2019-10-25 00:27:02 +02:00
|
|
|
"github.com/kataras/iris/v12"
|
|
|
|
"github.com/kataras/iris/v12/cache"
|
|
|
|
"github.com/kataras/iris/v12/mvc"
|
2018-01-01 21:08:14 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
var cacheHandler = cache.Handler(10 * time.Second)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
app := iris.New()
|
2020-04-28 21:34:36 +02:00
|
|
|
app.Logger().SetLevel("debug")
|
|
|
|
|
2018-01-01 21:08:14 +01:00
|
|
|
mvc.Configure(app, configure)
|
|
|
|
|
|
|
|
// http://localhost:8080
|
|
|
|
// http://localhost:8080/other
|
|
|
|
//
|
2018-01-01 21:14:52 +01:00
|
|
|
// refresh every 10 seconds and you'll see different time output.
|
2020-03-05 21:41:27 +01:00
|
|
|
app.Listen(":8080")
|
2018-01-01 21:08:14 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func configure(m *mvc.Application) {
|
|
|
|
m.Router.Use(cacheHandler)
|
|
|
|
m.Handle(&exampleController{
|
|
|
|
timeFormat: "Mon, Jan 02 2006 15:04:05",
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
type exampleController struct {
|
|
|
|
timeFormat string
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *exampleController) Get() string {
|
|
|
|
now := time.Now().Format(c.timeFormat)
|
|
|
|
return "last time executed without cache: " + now
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *exampleController) GetOther() string {
|
|
|
|
now := time.Now().Format(c.timeFormat)
|
|
|
|
return "/other: " + now
|
|
|
|
}
|