]> source.dussan.org Git - gitea.git/commitdiff
fix run web with -p push failed (#3154)
authorLunny Xiao <xiaolunwen@gmail.com>
Wed, 13 Dec 2017 08:57:28 +0000 (16:57 +0800)
committerGitHub <noreply@github.com>
Wed, 13 Dec 2017 08:57:28 +0000 (16:57 +0800)
cmd/web.go

index 811771aa5b31702a9c9a72050129a040cde4b694..55546ea4806af1c9713b8422daa13e7d478ee13e 100644 (file)
@@ -19,8 +19,10 @@ import (
        "code.gitea.io/gitea/routers"
        "code.gitea.io/gitea/routers/routes"
 
+       "github.com/Unknwon/com"
        context2 "github.com/gorilla/context"
        "github.com/urfave/cli"
+       ini "gopkg.in/ini.v1"
 )
 
 // CmdWeb represents the available web sub-command.
@@ -69,6 +71,34 @@ func runWeb(ctx *cli.Context) error {
        if ctx.IsSet("port") {
                setting.AppURL = strings.Replace(setting.AppURL, setting.HTTPPort, ctx.String("port"), 1)
                setting.HTTPPort = ctx.String("port")
+
+               switch setting.Protocol {
+               case setting.UnixSocket:
+               case setting.FCGI:
+               default:
+                       // Save LOCAL_ROOT_URL if port changed
+                       cfg := ini.Empty()
+                       if com.IsFile(setting.CustomConf) {
+                               // Keeps custom settings if there is already something.
+                               if err := cfg.Append(setting.CustomConf); err != nil {
+                                       return fmt.Errorf("Failed to load custom conf '%s': %v", setting.CustomConf, err)
+                               }
+                       }
+
+                       defaultLocalURL := string(setting.Protocol) + "://"
+                       if setting.HTTPAddr == "0.0.0.0" {
+                               defaultLocalURL += "localhost"
+                       } else {
+                               defaultLocalURL += setting.HTTPAddr
+                       }
+                       defaultLocalURL += ":" + setting.HTTPPort + "/"
+
+                       cfg.Section("server").Key("LOCAL_ROOT_URL").SetValue(defaultLocalURL)
+
+                       if err := cfg.SaveTo(setting.CustomConf); err != nil {
+                               return fmt.Errorf("Error saving generated JWT Secret to custom config: %v", err)
+                       }
+               }
        }
 
        var listenAddr string