diff options
author | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-01-29 19:36:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-29 19:36:57 +0800 |
commit | b28fb9085185025415847d7075f1cdf83abb3b56 (patch) | |
tree | 0e0cc62b67546ebcd35c297cd35f097fe486b445 /internal/route | |
parent | 8b7fa6627fb0f75adb8d1ca4ad953cf3b9b7dc87 (diff) |
all: use lazyregexp (#5911)
* Use lazyregexp
* all: fix imports and usages
Diffstat (limited to 'internal/route')
-rw-r--r-- | internal/route/repo/http.go | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/internal/route/repo/http.go b/internal/route/repo/http.go index d1589e92..10438636 100644 --- a/internal/route/repo/http.go +++ b/internal/route/repo/http.go @@ -12,7 +12,6 @@ import ( "os" "os/exec" "path" - "regexp" "strconv" "strings" "time" @@ -23,6 +22,7 @@ import ( "gogs.io/gogs/internal/context" "gogs.io/gogs/internal/db" "gogs.io/gogs/internal/db/errors" + "gogs.io/gogs/internal/lazyregexp" "gogs.io/gogs/internal/setting" "gogs.io/gogs/internal/tool" ) @@ -346,21 +346,21 @@ func getIdxFile(h serviceHandler) { } var routes = []struct { - reg *regexp.Regexp + re *lazyregexp.Regexp method string handler func(serviceHandler) }{ - {regexp.MustCompile("(.*?)/git-upload-pack$"), "POST", serviceUploadPack}, - {regexp.MustCompile("(.*?)/git-receive-pack$"), "POST", serviceReceivePack}, - {regexp.MustCompile("(.*?)/info/refs$"), "GET", getInfoRefs}, - {regexp.MustCompile("(.*?)/HEAD$"), "GET", getTextFile}, - {regexp.MustCompile("(.*?)/objects/info/alternates$"), "GET", getTextFile}, - {regexp.MustCompile("(.*?)/objects/info/http-alternates$"), "GET", getTextFile}, - {regexp.MustCompile("(.*?)/objects/info/packs$"), "GET", getInfoPacks}, - {regexp.MustCompile("(.*?)/objects/info/[^/]*$"), "GET", getTextFile}, - {regexp.MustCompile("(.*?)/objects/[0-9a-f]{2}/[0-9a-f]{38}$"), "GET", getLooseObject}, - {regexp.MustCompile("(.*?)/objects/pack/pack-[0-9a-f]{40}\\.pack$"), "GET", getPackFile}, - {regexp.MustCompile("(.*?)/objects/pack/pack-[0-9a-f]{40}\\.idx$"), "GET", getIdxFile}, + {lazyregexp.New("(.*?)/git-upload-pack$"), "POST", serviceUploadPack}, + {lazyregexp.New("(.*?)/git-receive-pack$"), "POST", serviceReceivePack}, + {lazyregexp.New("(.*?)/info/refs$"), "GET", getInfoRefs}, + {lazyregexp.New("(.*?)/HEAD$"), "GET", getTextFile}, + {lazyregexp.New("(.*?)/objects/info/alternates$"), "GET", getTextFile}, + {lazyregexp.New("(.*?)/objects/info/http-alternates$"), "GET", getTextFile}, + {lazyregexp.New("(.*?)/objects/info/packs$"), "GET", getInfoPacks}, + {lazyregexp.New("(.*?)/objects/info/[^/]*$"), "GET", getTextFile}, + {lazyregexp.New("(.*?)/objects/[0-9a-f]{2}/[0-9a-f]{38}$"), "GET", getLooseObject}, + {lazyregexp.New("(.*?)/objects/pack/pack-[0-9a-f]{40}\\.pack$"), "GET", getPackFile}, + {lazyregexp.New("(.*?)/objects/pack/pack-[0-9a-f]{40}\\.idx$"), "GET", getIdxFile}, } func getGitRepoPath(dir string) (string, error) { @@ -379,7 +379,7 @@ func getGitRepoPath(dir string) (string, error) { func HTTP(c *HTTPContext) { for _, route := range routes { reqPath := strings.ToLower(c.Req.URL.Path) - m := route.reg.FindStringSubmatch(reqPath) + m := route.re.FindStringSubmatch(reqPath) if m == nil { continue } |