package beego import ( "mime" "path/filepath" "strconv" "net/http" "github.com/astaxie/beego/session" ) // func registerMime() error { for k, v := range mimemaps { mime.AddExtensionType(k, v) } return nil } // register default error http handlers, 404,401,403,500 and 503. func registerDefaultErrorHandler() error { for e, h := range map[string]func(http.ResponseWriter, *http.Request){ "401": unauthorized, "402": paymentRequired, "403": forbidden, "404": notFound, "405": methodNotAllowed, "500": internalServerError, "501": notImplemented, "502": badGateway, "503": serviceUnavailable, "504": gatewayTimeout, } { ErrorHandler(e, h) } return nil } func registerSession() error { if SessionOn { var err error sessionConfig := AppConfig.String("sessionConfig") if sessionConfig == "" { sessionConfig = `{"cookieName":"` + SessionName + `",` + `"gclifetime":` + strconv.FormatInt(SessionGCMaxLifetime, 10) + `,` + `"providerConfig":"` + filepath.ToSlash(SessionProviderConfig) + `",` + `"secure":` + strconv.FormatBool(EnableHTTPTLS) + `,` + `"enableSetCookie":` + strconv.FormatBool(SessionAutoSetCookie) + `,` + `"domain":"` + SessionDomain + `",` + `"cookieLifeTime":` + strconv.Itoa(SessionCookieLifeTime) + `}` } GlobalSessions, err = session.NewManager(SessionProvider, sessionConfig) if err != nil { return err } go GlobalSessions.GC() } return nil } func registerTemplate() error { if AutoRender { err := BuildTemplate(ViewsPath) if err != nil && RunMode == "dev" { Warn(err) } } return nil } func registerDocs() error { if EnableDocs { Get("/docs", serverDocs) Get("/docs/*", serverDocs) } return nil } func registerAdmin() error { if EnableAdmin { go beeAdminApp.Run() } return nil }