MCPcopy Create free account
hub / github.com/devfeel/dotweb / initServerEnvironment

Method initServerEnvironment

dotweb.go:597–653  ·  view source on GitHub ↗

init Server Environment

()

Source from the content-addressed store, hash-verified

595
596// init Server Environment
597func (app *DotWeb) initServerEnvironment() {
598 if app.ExceptionHandler == nil {
599 app.SetExceptionHandle(app.DefaultHTTPErrorHandler)
600 }
601
602 if app.NotFoundHandler == nil {
603 app.SetNotFoundHandle(DefaultNotFoundHandler)
604 }
605
606 if app.MethodNotAllowedHandler == nil {
607 app.SetMethodNotAllowedHandle(DefaultMethodNotAllowedHandler)
608 }
609
610 // set default unique id generater
611 if app.IDGenerater == nil {
612 app.IDGenerater = DefaultUniqueIDGenerater
613 }
614
615 // init session manager
616 if app.HttpServer.SessionConfig().EnabledSession {
617 if app.HttpServer.SessionConfig().SessionMode == "" {
618 // panic("no set SessionConfig, but set enabledsession true")
619 app.Logger().Warn("not set SessionMode, but set enabledsession true, now will use default runtime session", LogTarget_HttpServer)
620 app.HttpServer.SetSessionConfig(session.NewDefaultRuntimeConfig())
621 }
622 app.HttpServer.InitSessionManager()
623 }
624
625 // if cache not set, create default runtime cache
626 if app.Cache() == nil {
627 app.cache = cache.NewRuntimeCache()
628 }
629
630 // if renderer not set, create inner renderer
631 // if is develop mode, it will use nocache mode
632 if app.HttpServer.Renderer() == nil {
633 if app.RunMode() == RunMode_Development {
634 app.HttpServer.SetRenderer(NewInnerRendererNoCache())
635 } else {
636 app.HttpServer.SetRenderer(NewInnerRenderer())
637 }
638 }
639
640 // start pprof server
641 // Only enable pprof in development mode for security
642 if app.Config.App.EnabledPProf && app.RunMode() != RunMode_Production {
643 app.Logger().Debug("DotWeb:StartPProfServer["+strconv.Itoa(app.Config.App.PProfPort)+"] Begin", LogTarget_HttpServer)
644 go func() {
645 err := http.ListenAndServe(":"+strconv.Itoa(app.Config.App.PProfPort), nil)
646 if err != nil {
647 app.Logger().Error("DotWeb:StartPProfServer["+strconv.Itoa(app.Config.App.PProfPort)+"] error: "+err.Error(), LogTarget_HttpServer)
648 // panic the error
649 panic(err)
650 }
651 }()
652 }
653}
654

Callers 1

ListenAndServeMethod · 0.95

Calls 15

SetExceptionHandleMethod · 0.95
SetNotFoundHandleMethod · 0.95
LoggerMethod · 0.95
CacheMethod · 0.95
RunModeMethod · 0.95
NewDefaultRuntimeConfigFunction · 0.92
NewRuntimeCacheFunction · 0.92
NewInnerRendererNoCacheFunction · 0.85
NewInnerRendererFunction · 0.85
SessionConfigMethod · 0.80
SetSessionConfigMethod · 0.80

Tested by

no test coverage detected