1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-18 10:27:06 +00:00

add accesslog middleware (rel: #1601)

This commit is contained in:
Gerasimos (Makis) Maropoulos
2020-09-06 10:38:48 +03:00
parent bf9f7617e2
commit 0be856e54c
16 changed files with 339 additions and 347 deletions

View File

@@ -0,0 +1,47 @@
package main // See https://github.com/kataras/iris/issues/1601
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/accesslog"
)
func main() {
app := iris.New()
ac := accesslog.File("./access.log")
defer ac.Close()
iris.RegisterOnInterrupt(func() {
ac.Close()
})
// Register the middleware (UseRouter to catch http errors too).
app.UseRouter(ac.Handler)
//
// Register some routes...
app.HandleDir("/", iris.Dir("./public"))
app.Get("/user/{username}", userHandler)
app.Post("/read_body", readBodyHandler)
app.Get("/html_response", htmlResponse)
//
app.Listen(":8080")
}
func readBodyHandler(ctx iris.Context) {
var request interface{}
if err := ctx.ReadBody(&request); err != nil {
ctx.StopWithPlainError(iris.StatusBadRequest, err)
return
}
ctx.JSON(iris.Map{"message": "OK", "data": request})
}
func userHandler(ctx iris.Context) {
ctx.Writef("Hello, %s!", ctx.Params().Get("username"))
}
func htmlResponse(ctx iris.Context) {
ctx.HTML("<h1>HTML Response</h1>")
}