init Server Environment
()
| 595 | |
| 596 | // init Server Environment |
| 597 | func (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 |
no test coverage detected