diff --git a/server/upstream/upstream.go b/server/upstream/upstream.go index d610665..3e083bc 100644 --- a/server/upstream/upstream.go +++ b/server/upstream/upstream.go @@ -82,7 +82,7 @@ func (o *Options) Upstream(ctx *fasthttp.RequestCtx, giteaRoot, giteaAPIToken st log.Debug().Msg("preparations") // Make a GET request to the upstream URL - uri := o.TargetOwner + "/" + o.TargetRepo + "/raw/" + o.TargetBranch + "/" + o.TargetPath + uri := path.Join(o.TargetOwner, o.TargetRepo, "raw", o.TargetBranch, o.TargetPath) var req *fasthttp.Request var res *fasthttp.Response var cachedResponse fileResponse @@ -91,7 +91,7 @@ func (o *Options) Upstream(ctx *fasthttp.RequestCtx, giteaRoot, giteaAPIToken st cachedResponse = cachedValue.(fileResponse) } else { req = fasthttp.AcquireRequest() - req.SetRequestURI(giteaRoot + giteaApiRepos + uri) + req.SetRequestURI(path.Join(giteaRoot, giteaApiRepos, uri)) req.Header.Set(fasthttp.HeaderAuthorization, giteaAPIToken) res = fasthttp.AcquireResponse() res.SetBodyStream(&strings.Reader{}, -1)