diff --git a/server/upstream/redirects.go b/server/upstream/redirects.go index a48ffe4..26ecf3f 100644 --- a/server/upstream/redirects.go +++ b/server/upstream/redirects.go @@ -34,18 +34,26 @@ func (o *Options) GetRedirects(giteaClient *gitea.Client, redirectsCache cache.S if err == nil { for _, line := range strings.Split(string(body), "\n") { redirectArr := strings.Fields(line) + + // Ignore comments and invalid lines + if strings.HasPrefix(line, "#") || len(redirectArr) < 2 { + continue + } + + // Get redirect status code + statusCode := 301 if len(redirectArr) == 3 { - statusCode, err := strconv.Atoi(redirectArr[2]) + statusCode, err = strconv.Atoi(redirectArr[2]) if err != nil { log.Info().Err(err).Msgf("could not read %s of %s/%s", redirectsConfig, o.TargetOwner, o.TargetRepo) } - - redirects = append(redirects, Redirect{ - From: redirectArr[0], - To: redirectArr[1], - StatusCode: statusCode, - }) } + + redirects = append(redirects, Redirect{ + From: redirectArr[0], + To: redirectArr[1], + StatusCode: statusCode, + }) } } _ = redirectsCache.Set(o.TargetOwner+"/"+o.TargetRepo+"/"+o.TargetBranch, redirects, redirectsCacheTimeout)