Add TODOs

This commit is contained in:
Moritz Marquardt 2021-03-19 13:20:00 +01:00
parent 44c41c7459
commit c4bae34b71
No known key found for this signature in database
GPG Key ID: D5788327BEE388B6
2 changed files with 9 additions and 0 deletions

View File

@ -4,8 +4,12 @@ import "github.com/valyala/fasthttp"
// getTargetFromDNS searches for CNAME entries on the request domain, optionally with a "www." prefix, and checks if
// the domain is included in the repository's "domains.txt" file. If everything is fine, it returns the target data.
// TODO: use TXT records with A/AAAA/ALIAS
func getTargetFromDNS(ctx *fasthttp.RequestCtx) (targetOwner, targetRepo, targetBranch, targetPath string) {
// TODO: read CNAME record for host and "www.{host}" to get those values
// TODO: check domains.txt
return
}
// TODO: cache domains.txt for 15 minutes
// TODO: canonical domains - redirect to first domain if domains.txt exists, also make sure owner.codeberg.page/pages/... redirects to /...

View File

@ -66,6 +66,8 @@ func handler(ctx *fasthttp.RequestCtx) {
if RawDomain != nil && bytes.Equal(ctx.Request.Host(), RawDomain) {
// Serve raw content from RawDomain
// TODO: add canonical link and "X-Robots-Tag: noarchive, noindex"
targetOptions.TryIndexPages = false
targetOptions.ForbiddenMimeTypes["text/html"] = struct{}{}
targetOptions.DefaultMimeType = "text/plain; charset=utf-8"
@ -102,6 +104,8 @@ func handler(ctx *fasthttp.RequestCtx) {
} else if bytes.HasSuffix(ctx.Request.Host(), MainDomainSuffix) {
// Serve pages from subdomains of MainDomainSuffix
// TODO: add @branch syntax with "X-Robots-Tag: noarchive, noindex"
pathElements := strings.SplitN(string(bytes.Trim(ctx.Request.URI().Path(), "/")), "/", 2)
targetOwner = string(bytes.TrimSuffix(ctx.Request.Host(), MainDomainSuffix))
targetRepo = pathElements[0]
@ -154,6 +158,7 @@ func returnErrorPage(ctx *fasthttp.RequestCtx, code int) {
// getBranchTimestamp finds the default branch (if branch is "") and returns the last modification time of the branch
// (or an empty time.Time if the branch doesn't exist)
// TODO: cache responses for ~15 minutes if a branch exists
func getBranchTimestamp(owner, repo, branch string) (branchWithFallback string, t time.Time) {
branchWithFallback = branch
if branch == "" {