87a8393537
Change encrypted URL format to /v1/e/{token}/img.{ext}
...
Add trailing filename to encrypted URLs for better browser compatibility.
The filename is ignored by the server but helps browsers identify content type.
2026-01-08 16:14:01 -08:00
1f809a6fc9
Implement ETag, HEAD requests, and conditional requests
...
- Add ETag generation based on output content hash (first 16 chars)
- Add ContentLength to ImageResponse from cache
- Add LoadWithSize method to ContentStorage
- Add GetOutputWithSize method to Cache
- Handle HEAD requests returning headers only
- Handle If-None-Match conditional requests returning 304
- Register HEAD route for image proxy endpoint
2026-01-08 10:08:38 -08:00
2e349a8b83
Implement security headers middleware
...
Adds X-Content-Type-Options, X-Frame-Options, Referrer-Policy,
and X-XSS-Protection headers to all responses.
2026-01-08 10:02:17 -08:00
1f0ec59eb5
Wire up auth routes and encrypted URL endpoint
...
Add session manager and encurl generator to handlers.
Register /, /logout, /generate, /v1/e/{token}, /static/* routes.
2026-01-08 07:38:44 -08:00
09a0e6f039
Fix formatting alignment in server constants
2026-01-08 02:31:01 -08:00
837c91e0dd
Rename unused ctx parameters in server hooks
2026-01-08 02:29:48 -08:00
146eeee070
Use bit shift for HTTPMaxHeaderBytes constant
2026-01-08 02:26:47 -08:00
1824d99f55
Rename ServerParams to Params to avoid stuttering
2026-01-08 02:25:56 -08:00
751e557884
Define ShutdownTimeout and SentryFlushTimeout constants
2026-01-08 02:22:58 -08:00
0eb6193431
Use HTTPWriteTimeout constant for request timeout
2026-01-08 02:22:25 -08:00
bf24a310bc
Define HTTP server timeout and header size constants
2026-01-08 02:21:54 -08:00
516853626d
Add basic webserver skeleton with healthcheck
2026-01-08 02:20:23 -08:00