pkg/context: use host address and apply insecure flag for go-get=1 when needed (#5305)

This commit is contained in:
Unknwon 2018-12-03 13:36:11 -05:00
parent a7e8187a0d
commit 6690023555
No known key found for this signature in database
GPG Key ID: 25B575AE3213B2B3
2 changed files with 9 additions and 8 deletions

View File

@ -263,13 +263,11 @@ func Contexter() macaron.Handler {
branchName = repo.DefaultBranch
}
// Non-80 port needs to match port number in import path as well
host := setting.Domain
if setting.HTTPPort != "80" {
host += ":" + setting.HTTPPort
}
prefix := setting.AppURL + path.Join(ownerName, repoName, "src", branchName)
insecureFlag := ""
if !strings.HasPrefix(setting.AppURL, "https://") {
insecureFlag = "--insecure "
}
c.PlainText(http.StatusOK, []byte(com.Expand(`<!doctype html>
<html>
<head>
@ -277,14 +275,15 @@ func Contexter() macaron.Handler {
<meta name="go-source" content="{GoGetImport} _ {GoDocDirectory} {GoDocFile}">
</head>
<body>
go get {GoGetImport}
go get {InsecureFlag}{GoGetImport}
</body>
</html>
`, map[string]string{
"GoGetImport": path.Join(host, setting.AppSubURL, repo.FullName()),
"GoGetImport": path.Join(setting.HostAddress, setting.AppSubURL, repo.FullName()),
"CloneLink": models.ComposeHTTPSCloneURL(ownerName, repoName),
"GoDocDirectory": prefix + "{/dir}",
"GoDocFile": prefix + "{/dir}/{file}#L{line}",
"InsecureFlag": insecureFlag,
})))
return
}

View File

@ -61,6 +61,7 @@ var (
AppSubURLDepth int // Number of slashes
AppPath string
AppDataPath string
HostAddress string // AppURL without protocol and slashes
// Server settings
Protocol Scheme
@ -463,6 +464,7 @@ func NewContext() {
// This value is empty if site does not have sub-url.
AppSubURL = strings.TrimSuffix(url.Path, "/")
AppSubURLDepth = strings.Count(AppSubURL, "/")
HostAddress = url.Host
Protocol = SCHEME_HTTP
if sec.Key("PROTOCOL").String() == "https" {