refine matcher: will not match releases page

This commit is contained in:
wjqserver 2025-07-29 23:27:42 +08:00
parent 4df21fd258
commit d232d1cf12
10 changed files with 58 additions and 25 deletions

View file

@ -22,6 +22,10 @@ var (
apiPrefixLen int
)
var (
releasesDownloadSinnipt = "releases/download/"
)
func init() {
githubPrefixLen = len(githubPrefix)
rawPrefixLen = len(rawPrefix)
@ -61,7 +65,13 @@ func Matcher(rawPath string, cfg *config.Config) (string, string, string, *GHPro
}
var matcher string
switch action {
case "releases", "archive":
case "releases":
if strings.HasPrefix(remaining, releasesDownloadSinnipt) {
matcher = "releases"
} else {
return "", "", "", NewErrorWithStatusLookup(400, "malformed github path: not a releases download url")
}
case "archive":
matcher = "releases"
case "blob":
matcher = "blob"