forked from molecule-ai/molecule-core
fix(security): #151 — register SecurityHeaders middleware
Closes #151. The middleware was already implemented + tested (3 passing tests in securityheaders_test.go covering base set, multi-route, and the don't-override-existing contract) but never registered in router.go. One-line wire-up, runs after TenantGuard so rejected requests still get the same headers as accepted ones, and before routes so handlers can still opt out by setting their own header before c.Next() returns. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a004f52778
commit
30d2d268b5
@ -59,6 +59,14 @@ func Setup(hub *ws.Hub, broadcaster *events.Broadcaster, prov *provisioner.Provi
|
||||
// rejected requests still land on the 4xx counter.
|
||||
r.Use(middleware.TenantGuard())
|
||||
|
||||
// Security headers (#151) — sets X-Content-Type-Options, X-Frame-Options,
|
||||
// Referrer-Policy, Content-Security-Policy, Permissions-Policy, HSTS on
|
||||
// every response. Tests in securityheaders_test.go assert each header is
|
||||
// present and that handler-set headers are not overridden. Registered
|
||||
// last so a handler can still opt out by setting its own header before
|
||||
// c.Next() returns.
|
||||
r.Use(middleware.SecurityHeaders())
|
||||
|
||||
// Health
|
||||
r.GET("/health", func(c *gin.Context) {
|
||||
c.JSON(200, gin.H{"status": "ok"})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user