From 46cc45f04967ac4e258daafb98a716bc5ac77a94 Mon Sep 17 00:00:00 2001 From: Lauris BH Date: Mon, 2 Oct 2017 16:55:09 +0300 Subject: [PATCH] Fix go get response if only app URL is custom in configuration (#2634) * Fix go get response if only app URL is custom in configuration * Rewrite to update Domain setting to match AppURL --- modules/context/context.go | 2 +- modules/setting/setting.go | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/context/context.go b/modules/context/context.go index 7137a16723..9f5d934e4d 100644 --- a/modules/context/context.go +++ b/modules/context/context.go @@ -194,7 +194,7 @@ func Contexter() macaron.Handler { `, map[string]string{ - "GoGetImport": path.Join(setting.Domain, setting.AppSubURL, ctx.Link), + "GoGetImport": ComposeGoGetImport(ownerName, strings.TrimSuffix(repoName, ".git")), "CloneLink": models.ComposeHTTPSCloneURL(ownerName, repoName), "GoDocDirectory": prefix + "{/dir}", "GoDocFile": prefix + "{/dir}/{file}#L{line}", diff --git a/modules/setting/setting.go b/modules/setting/setting.go index f594125503..6b1b269b73 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -10,6 +10,7 @@ import ( "encoding/base64" "fmt" "io" + "net" "net/mail" "net/url" "os" @@ -664,6 +665,12 @@ func NewContext() { // This value is empty if site does not have sub-url. AppSubURL = strings.TrimSuffix(url.Path, "/") AppSubURLDepth = strings.Count(AppSubURL, "/") + // Check if Domain differs from AppURL domain than update it to AppURL's domain + // TODO: Can be replaced with url.Hostname() when minimal GoLang version is 1.8 + urlHostname := strings.SplitN(url.Host, ":", 2)[0] + if urlHostname != Domain && net.ParseIP(urlHostname) == nil { + Domain = urlHostname + } var defaultLocalURL string switch Protocol { -- 2.39.5