iris/_examples/structuring/bootstrap/middleware/identity/identity.go
Gerasimos (Makis) Maropoulos 11277f12a0 Structuring examples - Pushed to iris-contrib/examples as well.
Former-commit-id: 24ee6ce233d83f0b394afc6c69b5a88243406045
2017-10-22 16:04:11 +03:00

34 lines
885 B
Go

package identity
import (
"time"
"github.com/kataras/iris"
"github.com/kataras/iris/_examples/structuring/bootstrap/bootstrap"
)
// New returns a new handler which adds some headers and view data
// describing the application, i.e the owner, the startup time.
func New(b *bootstrap.Bootstrapper) iris.Handler {
return func(ctx iris.Context) {
// response headers
ctx.Header("App-Name", b.AppName)
ctx.Header("App-Owner", b.AppOwner)
ctx.Header("App-Since", time.Since(b.AppSpawnDate).String())
ctx.Header("Server", "Iris: https://iris-go.com")
// view data if ctx.View or c.Tmpl = "$page.html" will be called next.
ctx.ViewData("AppName", b.AppName)
ctx.ViewData("AppOwner", b.AppOwner)
ctx.Next()
}
}
// Configure creates a new identity middleware and registers that to the app.
func Configure(b *bootstrap.Bootstrapper) {
h := New(b)
b.UseGlobal(h)
}