mirror of
https://codeberg.org/Codeberg/pages-server.git
synced 2025-04-24 22:06:57 +00:00
Return final and use cache key var
This commit is contained in:
parent
4e60a72236
commit
a3f60cea18
2 changed files with 11 additions and 11 deletions
|
@ -58,12 +58,12 @@ func (o *Options) getRedirects(giteaClient *gitea.Client, redirectsCache cache.S
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ = redirectsCache.Set(o.TargetOwner+"/"+o.TargetRepo+"/"+o.TargetBranch, redirects, redirectsCacheTimeout)
|
_ = redirectsCache.Set(cacheKey, redirects, redirectsCacheTimeout)
|
||||||
}
|
}
|
||||||
return redirects
|
return redirects
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *Options) matchRedirects(ctx *context.Context, giteaClient *gitea.Client, redirects []Redirect, redirectsCache cache.SetGetKey) {
|
func (o *Options) matchRedirects(ctx *context.Context, giteaClient *gitea.Client, redirects []Redirect, redirectsCache cache.SetGetKey) (final bool) {
|
||||||
if len(redirects) > 0 {
|
if len(redirects) > 0 {
|
||||||
for _, redirect := range redirects {
|
for _, redirect := range redirects {
|
||||||
reqUrl := ctx.Req.RequestURI
|
reqUrl := ctx.Req.RequestURI
|
||||||
|
@ -74,10 +74,10 @@ func (o *Options) matchRedirects(ctx *context.Context, giteaClient *gitea.Client
|
||||||
if redirect.StatusCode == 200 {
|
if redirect.StatusCode == 200 {
|
||||||
o.TargetPath = redirect.To
|
o.TargetPath = redirect.To
|
||||||
o.Upstream(ctx, giteaClient, redirectsCache)
|
o.Upstream(ctx, giteaClient, redirectsCache)
|
||||||
return
|
return true
|
||||||
} else {
|
} else {
|
||||||
ctx.Redirect(redirect.To, redirect.StatusCode)
|
ctx.Redirect(redirect.To, redirect.StatusCode)
|
||||||
return
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,23 +90,25 @@ func (o *Options) matchRedirects(ctx *context.Context, giteaClient *gitea.Client
|
||||||
if redirect.StatusCode == 200 {
|
if redirect.StatusCode == 200 {
|
||||||
o.TargetPath = splatUrl
|
o.TargetPath = splatUrl
|
||||||
o.Upstream(ctx, giteaClient, redirectsCache)
|
o.Upstream(ctx, giteaClient, redirectsCache)
|
||||||
return
|
return true
|
||||||
} else {
|
} else {
|
||||||
ctx.Redirect(splatUrl, redirect.StatusCode)
|
ctx.Redirect(splatUrl, redirect.StatusCode)
|
||||||
return
|
return true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// do rewrite if status code is 200
|
// do rewrite if status code is 200
|
||||||
if redirect.StatusCode == 200 {
|
if redirect.StatusCode == 200 {
|
||||||
o.TargetPath = redirect.To
|
o.TargetPath = redirect.To
|
||||||
o.Upstream(ctx, giteaClient, redirectsCache)
|
o.Upstream(ctx, giteaClient, redirectsCache)
|
||||||
return
|
return true
|
||||||
} else {
|
} else {
|
||||||
ctx.Redirect(redirect.To, redirect.StatusCode)
|
ctx.Redirect(redirect.To, redirect.StatusCode)
|
||||||
return
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
}
|
}
|
|
@ -140,9 +140,7 @@ func (o *Options) Upstream(ctx *context.Context, giteaClient *gitea.Client, redi
|
||||||
|
|
||||||
// Get and match redirects
|
// Get and match redirects
|
||||||
redirects := o.getRedirects(giteaClient, redirectsCache)
|
redirects := o.getRedirects(giteaClient, redirectsCache)
|
||||||
o.matchRedirects(ctx, giteaClient, redirects, redirectsCache)
|
return o.matchRedirects(ctx, giteaClient, redirects, redirectsCache)
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// handle unexpected client errors
|
// handle unexpected client errors
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue