| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package bootstrap
- import (
- "github.com/kataras/iris/v12"
- recover2 "github.com/kataras/iris/v12/middleware/recover"
- "github.com/kataras/iris/v12/sessions"
- "time"
- )
- type Configurator func(*Bootstrapper)
- type Bootstrapper struct {
- *iris.Application
- AppName string
- AppOwner string
- AppSpawnDate time.Time
- Sessions *sessions.Sessions
- }
- func New(appName, appOwner string, cfgs ...Configurator) *Bootstrapper {
- b := &Bootstrapper{
- Application: iris.New(),
- AppName: appName,
- AppOwner: appOwner,
- AppSpawnDate: time.Now(),
- }
- for _, cfg := range cfgs {
- cfg(b)
- }
- return b
- }
- func (b *Bootstrapper) Configure(cs ...Configurator) {
- for _, c := range cs {
- c(b)
- }
- }
- func (b *Bootstrapper) Bootstrap() *Bootstrapper {
- b.Use(recover2.New())
- return b
- }
- func (b *Bootstrapper) Listen(addr string, cfgs ...iris.Configurator) {
- b.Run(iris.Addr(addr), cfgs...)
- }
|