Skip to content

Commit 1234d34

Browse files
committed
feat: Railway compliant cache headers
1 parent 3b20088 commit 1234d34

14 files changed

Lines changed: 121 additions & 1 deletion

internal/handlers/advertise.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"net/http"
66

77
"github.com/arcjet/arcjet-go"
8+
"github.com/consoledotdev/home/internal/middleware"
89
"github.com/consoledotdev/home/web"
910
)
1011

@@ -30,6 +31,7 @@ func AdvertiseHandler(aj *arcjet.Client) (http.Handler, error) {
3031
renderDenied(w, r, decision)
3132
return
3233
}
34+
middleware.SetNewsletterCacheHeaders(w)
3335
web.Render(w, r, "advertise.html", AdvertiseData{})
3436
}), nil
3537
}

internal/handlers/confirm.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"net/http"
55

66
"github.com/arcjet/arcjet-go"
7+
"github.com/consoledotdev/home/internal/middleware"
78
"github.com/consoledotdev/home/web"
89
)
910

@@ -25,6 +26,7 @@ func ConfirmHandler(aj *arcjet.Client) (http.Handler, error) {
2526
renderDenied(w, r, decision)
2627
return
2728
}
29+
middleware.SetNoStoreCacheHeaders(w)
2830
web.Render(w, r, "confirm.html", PrivacyData{})
2931
}), nil
3032
}

internal/handlers/denied.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/arcjet/arcjet-go"
10+
"github.com/consoledotdev/home/internal/middleware"
1011
"github.com/consoledotdev/home/internal/rss"
1112
"github.com/consoledotdev/home/web"
1213
)
@@ -43,6 +44,7 @@ func deniedMessage(decision arcjet.Decision) string {
4344
func renderDenied(w http.ResponseWriter, r *http.Request, decision arcjet.Decision) {
4445
logDenied(r, decision)
4546

47+
middleware.SetNoStoreCacheHeaders(w)
4648
w.WriteHeader(http.StatusForbidden)
4749
web.Render(w, r, "denied.html", deniedData{
4850
Heading: "Request blocked",
@@ -76,6 +78,7 @@ func renderDeniedRSS(w http.ResponseWriter, r *http.Request, decision arcjet.Dec
7678
return
7779
}
7880

81+
middleware.SetNoStoreCacheHeaders(w)
7982
w.Header().Set("Content-Type", "application/rss+xml; charset=UTF-8")
8083
w.WriteHeader(http.StatusForbidden)
8184
w.Write([]byte(xml.Header))

internal/handlers/generate.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"log/slog"
1010

1111
"github.com/arcjet/arcjet-go"
12+
"github.com/consoledotdev/home/internal/middleware"
1213
"github.com/consoledotdev/home/internal/notion"
1314
"github.com/consoledotdev/home/web"
1415
)
@@ -60,6 +61,7 @@ func GenerateHandler(aj *arcjet.Client, notionClient *notion.NotionClient) (http
6061
Preview: fmt.Sprintf("%s - the best tools for developers", strings.Join(names, ", ")),
6162
NewsletterDate: newsletterDate.Format("2006-01-02"),
6263
}
64+
middleware.SetNoStoreCacheHeaders(w)
6365
web.Render(w, r, "generate.html", data)
6466
}), nil
6567
}

internal/handlers/landing1.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
"github.com/arcjet/arcjet-go"
99
"github.com/consoledotdev/home/internal/cache"
10+
"github.com/consoledotdev/home/internal/middleware"
1011
"github.com/consoledotdev/home/web"
1112
)
1213

@@ -38,6 +39,7 @@ func Landing1Handler(aj *arcjet.Client, swrCache *cache.SwrCache) (http.Handler,
3839
Betas: betas,
3940
NewsletterDate: newsletterDate.Format("2 January 2006"),
4041
}
42+
middleware.SetNewsletterCacheHeaders(w)
4143
web.Render(w, r, "landing-1.html", data)
4244
}), nil
4345
}

internal/handlers/privacy.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"net/http"
66

77
"github.com/arcjet/arcjet-go"
8+
"github.com/consoledotdev/home/internal/middleware"
89
"github.com/consoledotdev/home/web"
910
)
1011

@@ -30,6 +31,7 @@ func PrivacyHandler(aj *arcjet.Client) (http.Handler, error) {
3031
renderDenied(w, r, decision)
3132
return
3233
}
34+
middleware.SetNewsletterCacheHeaders(w)
3335
web.Render(w, r, "privacy.html", PrivacyData{})
3436
}), nil
3537
}

internal/handlers/root.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/arcjet/arcjet-go"
1010
"github.com/consoledotdev/home/internal/cache"
11+
"github.com/consoledotdev/home/internal/middleware"
1112
"github.com/consoledotdev/home/internal/notion"
1213
"github.com/consoledotdev/home/web"
1314
)
@@ -51,6 +52,7 @@ func RootHandler(aj *arcjet.Client, swrCache *cache.SwrCache) (http.Handler, err
5152
Betas: betas,
5253
NewsletterDate: newsletterDate.Format("2006-01-02"),
5354
}
55+
middleware.SetNewsletterCacheHeaders(w)
5456
web.Render(w, r, "index.html", data)
5557
}), nil
5658
}

internal/handlers/rss_betas.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010

1111
"github.com/arcjet/arcjet-go"
1212
"github.com/consoledotdev/home/internal/cache"
13+
"github.com/consoledotdev/home/internal/middleware"
1314
"github.com/consoledotdev/home/internal/rss"
1415
)
1516

@@ -85,6 +86,7 @@ func RssBetasHandler(aj *arcjet.Client, swrCache *cache.SwrCache) (http.Handler,
8586
return
8687
}
8788

89+
middleware.SetNewsletterCacheHeaders(w)
8890
w.Header().Set("Content-Type", "application/rss+xml; charset=UTF-8")
8991
w.Write(x)
9092
}), nil

internal/handlers/rss_everything.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"github.com/arcjet/arcjet-go"
1313
"github.com/consoledotdev/home/internal/cache"
14+
"github.com/consoledotdev/home/internal/middleware"
1415
"github.com/consoledotdev/home/internal/rss"
1516
)
1617

@@ -104,6 +105,7 @@ func RssEverythingHandler(aj *arcjet.Client, swrCache *cache.SwrCache) (http.Han
104105
return
105106
}
106107

108+
middleware.SetNewsletterCacheHeaders(w)
107109
w.Header().Set("Content-Type", "application/rss+xml; charset=UTF-8")
108110
w.Write(x)
109111
}), nil

internal/handlers/rss_tools.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"github.com/arcjet/arcjet-go"
1313
"github.com/consoledotdev/home/internal/cache"
14+
"github.com/consoledotdev/home/internal/middleware"
1415
"github.com/consoledotdev/home/internal/rss"
1516
)
1617

@@ -89,6 +90,7 @@ func RssToolsHandler(aj *arcjet.Client, swrCache *cache.SwrCache) (http.Handler,
8990
return
9091
}
9192

93+
middleware.SetNewsletterCacheHeaders(w)
9294
w.Header().Set("Content-Type", "application/rss+xml; charset=UTF-8")
9395
w.Write(x)
9496
}), nil

0 commit comments

Comments
 (0)