summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/repo.go3
-rw-r--r--modules/context/context.go2
-rw-r--r--modules/context/repo.go3
3 files changed, 5 insertions, 3 deletions
diff --git a/models/repo.go b/models/repo.go
index e1e111a012..03f4b6bee6 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -11,6 +11,7 @@ import (
"fmt"
"html/template"
"io/ioutil"
+ "net/url"
"os"
"os/exec"
"path"
@@ -824,7 +825,7 @@ type CloneLink struct {
// ComposeHTTPSCloneURL returns HTTPS clone URL based on given owner and repository name.
func ComposeHTTPSCloneURL(owner, repo string) string {
- return fmt.Sprintf("%s%s/%s.git", setting.AppURL, owner, repo)
+ return fmt.Sprintf("%s%s/%s.git", setting.AppURL, url.QueryEscape(owner), url.QueryEscape(repo))
}
func (repo *Repository) cloneLink(e Engine, isWiki bool) *CloneLink {
diff --git a/modules/context/context.go b/modules/context/context.go
index b9736e56ef..421d1d5f4f 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -209,7 +209,7 @@ func Contexter() macaron.Handler {
if err == nil && len(repo.DefaultBranch) > 0 {
branchName = repo.DefaultBranch
}
- prefix := setting.AppURL + path.Join(ownerName, repoName, "src", "branch", branchName)
+ prefix := setting.AppURL + path.Join(url.QueryEscape(ownerName), url.QueryEscape(repoName), "src", "branch", branchName)
c.Header().Set("Content-Type", "text/html")
c.WriteHeader(http.StatusOK)
c.Write([]byte(com.Expand(`<!doctype html>
diff --git a/modules/context/repo.go b/modules/context/repo.go
index 55d607a28a..ad910caf18 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -8,6 +8,7 @@ package context
import (
"fmt"
"io/ioutil"
+ "net/url"
"path"
"strings"
@@ -162,7 +163,7 @@ func RetrieveBaseRepo(ctx *Context, repo *models.Repository) {
// ComposeGoGetImport returns go-get-import meta content.
func ComposeGoGetImport(owner, repo string) string {
- return path.Join(setting.Domain, setting.AppSubURL, owner, repo)
+ return path.Join(setting.Domain, setting.AppSubURL, url.QueryEscape(owner), url.QueryEscape(repo))
}
// EarlyResponseForGoGetMeta responses appropriate go-get meta with status 200