Use a variable but a function for IsProd because of a slight performance increment (#17368)

This commit is contained in:
Lunny Xiao 2021-10-20 22:37:19 +08:00 committed by GitHub
parent 0208ea0248
commit f494776931
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 19 additions and 22 deletions

View File

@ -80,7 +80,7 @@ func fail(userMessage, logMessage string, args ...interface{}) error {
fmt.Fprintln(os.Stderr, "Gitea:", userMessage)
if len(logMessage) > 0 {
if !setting.IsProd() {
if !setting.IsProd {
fmt.Fprintf(os.Stderr, logMessage+"\n", args...)
}
}

View File

@ -136,8 +136,8 @@ func NewTestEngine() (err error) {
}
x.SetMapper(names.GonicMapper{})
x.SetLogger(NewXORMLogger(!setting.IsProd()))
x.ShowSQL(!setting.IsProd())
x.SetLogger(NewXORMLogger(!setting.IsProd))
x.ShowSQL(!setting.IsProd)
return syncTables()
}

View File

@ -95,7 +95,7 @@ func (ctx *APIContext) Error(status int, title string, obj interface{}) {
if status == http.StatusInternalServerError {
log.ErrorWithSkip(1, "%s: %s", title, message)
if setting.IsProd() && !(ctx.User != nil && ctx.User.IsAdmin) {
if setting.IsProd && !(ctx.User != nil && ctx.User.IsAdmin) {
message = ""
}
}
@ -112,7 +112,7 @@ func (ctx *APIContext) InternalServerError(err error) {
log.ErrorWithSkip(1, "InternalServerError: %v", err)
var message string
if !setting.IsProd() || (ctx.User != nil && ctx.User.IsAdmin) {
if !setting.IsProd || (ctx.User != nil && ctx.User.IsAdmin) {
message = err.Error()
}

View File

@ -225,7 +225,7 @@ func (ctx *Context) NotFound(title string, err error) {
func (ctx *Context) notFoundInternal(title string, err error) {
if err != nil {
log.ErrorWithSkip(2, "%s: %v", title, err)
if !setting.IsProd() {
if !setting.IsProd {
ctx.Data["ErrorMsg"] = err
}
}
@ -261,7 +261,7 @@ func (ctx *Context) ServerError(title string, err error) {
func (ctx *Context) serverErrorInternal(title string, err error) {
if err != nil {
log.ErrorWithSkip(2, "%s: %v", title, err)
if !setting.IsProd() {
if !setting.IsProd {
ctx.Data["ErrorMsg"] = err
}
}
@ -645,7 +645,7 @@ func Contexter() func(next http.Handler) http.Handler {
"CurrentURL": setting.AppSubURL + req.URL.RequestURI(),
"PageStartTime": startTime,
"Link": link,
"IsProd": setting.IsProd(),
"IsProd": setting.IsProd,
},
}
// PageData is passed by reference, and it will be rendered to `window.config.pageData` in `head.tmpl` for JavaScript modules

View File

@ -18,7 +18,7 @@ import (
// AddCacheControlToHeader adds suitable cache-control headers to response
func AddCacheControlToHeader(h http.Header, d time.Duration) {
if setting.IsProd() {
if setting.IsProd {
h.Set("Cache-Control", "private, max-age="+strconv.Itoa(int(d.Seconds())))
} else {
h.Set("Cache-Control", "no-store")

View File

@ -419,17 +419,13 @@ var (
PIDFile = "/run/gitea.pid"
WritePIDFile bool
RunMode string
IsProd bool
RunUser string
IsWindows bool
HasRobotsTxt bool
InternalToken string // internal access token
)
// IsProd if it's a production mode
func IsProd() bool {
return strings.EqualFold(RunMode, "prod")
}
func getAppPath() (string, error) {
var appPath string
var err error
@ -906,6 +902,7 @@ func NewContext() {
// Please don't use root as a bandaid to "fix" something that is broken, instead the broken thing should instead be fixed properly.
unsafeAllowRunAsRoot := Cfg.Section("").Key("I_AM_BEING_UNSAFE_RUNNING_AS_ROOT").MustBool(false)
RunMode = Cfg.Section("").Key("RUN_MODE").MustString("prod")
IsProd = strings.EqualFold(RunMode, "prod")
// Does not check run user when the install lock is off.
if InstallLock {
currentUser, match := IsRunUserMatchCurrentUser(RunUser)

View File

@ -91,7 +91,7 @@ func HTMLRenderer() *render.Render {
Funcs: NewFuncMap(),
Asset: GetAsset,
AssetNames: GetAssetNames,
IsDevelopment: !setting.IsProd(),
IsDevelopment: !setting.IsProd,
DisableHTTPErrorRendering: true,
})
}

View File

@ -62,7 +62,7 @@ func Middlewares() []func(http.Handler) http.Handler {
if err := recover(); err != nil {
combinedErr := fmt.Sprintf("PANIC: %v\n%s", err, string(log.Stack(2)))
log.Error("%v", combinedErr)
if setting.IsProd() {
if setting.IsProd {
http.Error(resp, http.StatusText(500), 500)
} else {
http.Error(resp, combinedErr, 500)

View File

@ -40,7 +40,7 @@ func installRecovery() func(next http.Handler) http.Handler {
if err := recover(); err != nil {
combinedErr := fmt.Sprintf("PANIC: %v\n%s", err, string(log.Stack(2)))
log.Error(combinedErr)
if setting.IsProd() {
if setting.IsProd {
http.Error(w, http.StatusText(500), 500)
} else {
http.Error(w, combinedErr, 500)
@ -63,7 +63,7 @@ func installRecovery() func(next http.Handler) http.Handler {
w.Header().Set(`X-Frame-Options`, setting.CORSConfig.XFrameOptions)
if !setting.IsProd() {
if !setting.IsProd {
store["ErrorMsg"] = combinedErr
}
err = rnd.HTML(w, 500, "status/500", templates.BaseVars().Merge(store))

View File

@ -131,7 +131,7 @@ func Recovery() func(next http.Handler) http.Handler {
sessionStore := session.GetSession(req)
if sessionStore == nil {
if setting.IsProd() {
if setting.IsProd {
http.Error(w, http.StatusText(500), 500)
} else {
http.Error(w, combinedErr, 500)
@ -164,7 +164,7 @@ func Recovery() func(next http.Handler) http.Handler {
w.Header().Set(`X-Frame-Options`, setting.CORSConfig.XFrameOptions)
if !setting.IsProd() {
if !setting.IsProd {
store["ErrorMsg"] = combinedErr
}
err = rnd.HTML(w, 500, "status/500", templates.BaseVars().Merge(store))

View File

@ -477,7 +477,7 @@ func RegisterRoutes(m *web.Route) {
m.Post("/action/{action}", user.Action)
}, reqSignIn)
if !setting.IsProd() {
if !setting.IsProd {
m.Get("/template/*", dev.TemplatePreview)
}

View File

@ -64,7 +64,7 @@ func (s *SSPI) Init() error {
Funcs: templates.NewFuncMap(),
Asset: templates.GetAsset,
AssetNames: templates.GetAssetNames,
IsDevelopment: !setting.IsProd(),
IsDevelopment: !setting.IsProd,
})
return nil
}