diff --git a/server/handler/handler.go b/server/handler/handler.go index ba2a9d0..d81a364 100644 --- a/server/handler/handler.go +++ b/server/handler/handler.go @@ -105,12 +105,11 @@ func Handler(mainDomainSuffix, rawDomain string, if len(pathElements) > 2 && strings.HasPrefix(pathElements[2], "@") { log.Debug().Msg("raw domain preparations, now trying with specified branch") if targetOpt, works := tryBranch(log, ctx, giteaClient, &upstream.Options{ - TryIndexPages: false, - ServeRaw: true, - TargetOwner: pathElements[0], - TargetRepo: pathElements[1], - TargetBranch: pathElements[2][1:], - TargetPath: path.Join(pathElements[3:]...), + ServeRaw: true, + TargetOwner: pathElements[0], + TargetRepo: pathElements[1], + TargetBranch: pathElements[2][1:], + TargetPath: path.Join(pathElements[3:]...), }, true); works { log.Trace().Msg("tryUpstream: serve raw domain with specified branch") tryUpstream(ctx, giteaClient, mainDomainSuffix, trimmedHost, targetOpt, canonicalDomainCache) @@ -162,10 +161,11 @@ func Handler(mainDomainSuffix, rawDomain string, log.Debug().Msg("main domain preparations, now trying with specified repo & branch") if targetOpt, works := tryBranch(log, ctx, giteaClient, &upstream.Options{ - TargetOwner: targetOwner, - TargetRepo: pathElements[0], - TargetBranch: pathElements[1][1:], - TargetPath: path.Join(pathElements[2:]...), + TryIndexPages: true, + TargetOwner: targetOwner, + TargetRepo: pathElements[0], + TargetBranch: pathElements[1][1:], + TargetPath: path.Join(pathElements[2:]...), }, true); works { log.Trace().Msg("tryUpstream: serve with specified repo and branch") tryUpstream(ctx, giteaClient, mainDomainSuffix, trimmedHost, targetOpt, canonicalDomainCache) @@ -182,10 +182,11 @@ func Handler(mainDomainSuffix, rawDomain string, if strings.HasPrefix(pathElements[0], "@") { log.Debug().Msg("main domain preparations, now trying with specified branch") if targetOpt, works := tryBranch(log, ctx, giteaClient, &upstream.Options{ - TargetOwner: targetOwner, - TargetRepo: "pages", - TargetBranch: pathElements[0][1:], - TargetPath: path.Join(pathElements[1:]...), + TryIndexPages: true, + TargetOwner: targetOwner, + TargetRepo: "pages", + TargetBranch: pathElements[0][1:], + TargetPath: path.Join(pathElements[1:]...), }, true); works { log.Trace().Msg("tryUpstream: serve default pages repo with specified branch") tryUpstream(ctx, giteaClient, mainDomainSuffix, trimmedHost, targetOpt, canonicalDomainCache) @@ -203,10 +204,11 @@ func Handler(mainDomainSuffix, rawDomain string, log.Debug().Msg("main domain preparations, now trying with specified repo") if pathElements[0] != "pages" { if targetOpt, works := tryBranch(log, ctx, giteaClient, &upstream.Options{ - TargetOwner: targetOwner, - TargetRepo: pathElements[0], - TargetBranch: "pages", - TargetPath: path.Join(pathElements[1:]...), + TryIndexPages: true, + TargetOwner: targetOwner, + TargetRepo: pathElements[0], + TargetBranch: "pages", + TargetPath: path.Join(pathElements[1:]...), }, false); works { log.Debug().Msg("tryBranch, now trying upstream 5") tryUpstream(ctx, giteaClient, mainDomainSuffix, trimmedHost, targetOpt, canonicalDomainCache) @@ -218,9 +220,10 @@ func Handler(mainDomainSuffix, rawDomain string, // example.codeberg.page/index.html log.Debug().Msg("main domain preparations, now trying with default repo/branch") if targetOpt, works := tryBranch(log, ctx, giteaClient, &upstream.Options{ - TargetOwner: targetOwner, - TargetRepo: "pages", - TargetPath: path.Join(pathElements...), + TryIndexPages: true, + TargetOwner: targetOwner, + TargetRepo: "pages", + TargetPath: path.Join(pathElements...), }, false); works { log.Debug().Msg("tryBranch, now trying upstream 6") tryUpstream(ctx, giteaClient, mainDomainSuffix, trimmedHost, targetOpt, canonicalDomainCache) @@ -255,10 +258,11 @@ func Handler(mainDomainSuffix, rawDomain string, // Try to use the given repo on the given branch or the default branch log.Debug().Msg("custom domain preparations, now trying with details from DNS") if targetOpt, works := tryBranch(log, ctx, giteaClient, &upstream.Options{ - TargetOwner: targetOwner, - TargetRepo: targetRepo, - TargetBranch: targetBranch, - TargetPath: path.Join(pathParts...), + TryIndexPages: true, + TargetOwner: targetOwner, + TargetRepo: targetRepo, + TargetBranch: targetBranch, + TargetPath: path.Join(pathParts...), }, canonicalLink); works { canonicalDomain, valid := targetOpt.CheckCanonicalDomain(giteaClient, trimmedHostStr, string(mainDomainSuffix), canonicalDomainCache) if !valid {