8351e67c

By: Michael Lynch <git@mtlynch.io>

Add ETag caching and Cache-Control headers for static assets

Wrap the static file server with middleware that sets a Cache-Control
header (public, max-age=1800) and generates per-process ETag values
based on a SHA-256 hash of the startup timestamp and request path.
When the client sends a matching If-None-Match header, the server
responds with 304 Not Modified and an empty body.

Co-authored-by: Shelley <shelley@exe.dev>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-trailing-newlinecheck-trailing-whitespacedocker-imagee2e-testsgo-app-startergo-app-starter-devgo-testslint-sqlx86_64-linux