pass a struct with the info

Former-commit-id: 6f9843613e6abfe0b19e6e43f9299afb98645477 [formerly 805fa39b073401c946b559e0e967fdc553f16295] [formerly f9e2de337abc0cbeb5ccdb8b6962871b0bd3ee0e [formerly 1d26b8e95e]]
Former-commit-id: 259a1ba8cdc71e7d32add58f9487e5827aa6685e [formerly 161a1a49bc1158f11f07fc9ff638506dafb6c918]
Former-commit-id: 67fe1fef4602baf4ddae40b28e65ac9a2a42ca9d
This commit is contained in:
Henrique Dias
2017-06-27 09:57:11 +01:00
parent a3941facd9
commit f2b492e0ce
12 changed files with 79 additions and 70 deletions

View File

@@ -22,7 +22,7 @@ var (
)
// command handles the requests for VCS related commands: git, svn and mercurial
func command(w http.ResponseWriter, r *http.Request, c *FileManager, u *User) (int, error) {
func command(ctx *requestContext, w http.ResponseWriter, r *http.Request) (int, error) {
// Upgrades the connection to a websocket and checks for errors.
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
@@ -51,7 +51,7 @@ func command(w http.ResponseWriter, r *http.Request, c *FileManager, u *User) (i
// Check if the command is allowed
allowed := false
for _, cmd := range u.Commands {
for _, cmd := range ctx.User.Commands {
if cmd == command[0] {
allowed = true
}
@@ -77,7 +77,7 @@ func command(w http.ResponseWriter, r *http.Request, c *FileManager, u *User) (i
}
// Gets the path and initializes a buffer.
path := strings.Replace(r.URL.Path, c.BaseURL, c.scope, 1)
path := strings.Replace(r.URL.Path, ctx.FileManager.BaseURL, ctx.User.scope, 1)
path = filepath.Clean(path)
buff := new(bytes.Buffer)