diff options
-rw-r--r-- | router_http.go | 2 | ||||
-rw-r--r-- | router_ssh.go | 2 | ||||
-rw-r--r-- | url_misc.go | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/router_http.go b/router_http.go index 754cf10..9b42e9b 100644 --- a/router_http.go +++ b/router_http.go @@ -83,6 +83,8 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) { } repo_feature := segments[separator_index+3] switch repo_feature { + case "info": + handle_repo_info(w, r, params) case "tree": params["rest"] = strings.Join(segments[separator_index+4:], "/") handle_repo_tree(w, r, params) diff --git a/router_ssh.go b/router_ssh.go index 6b5280b..8eaaebd 100644 --- a/router_ssh.go +++ b/router_ssh.go @@ -14,7 +14,7 @@ func get_repo_path_from_ssh_path(ctx context.Context, ssh_path string) (repo_pat for i, segment := range segments { var err error - segments[i], err = url.QueryUnescape(segment) + segments[i], err = url.PathUnescape(segment) if err != nil { return "", err } diff --git a/url_misc.go b/url_misc.go index 7dc0ad5..86a3c6e 100644 --- a/url_misc.go +++ b/url_misc.go @@ -50,7 +50,7 @@ func parse_request_uri(request_uri string) (segments []string, params url.Values segments = strings.Split(strings.TrimPrefix(path, "/"), "/") for i, segment := range segments { - segments[i], err = url.QueryUnescape(segment) + segments[i], err = url.PathUnescape(segment) if err != nil { return nil, nil, misc.Wrap_one_error(err_bad_request, err) } |