block / block/cachew

Make serveReaderFast ETag-aware (low priority)

Open
#335 0 comments 0 reactions 0 assignees View on GitHub
etag-range-followup
Dominant language
Go
Stars
41
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Follow-up from the ETag support assessment (label: etag-range-followup). Low priority / optimisation, not correctness.

`internal/strategy/git/snapshot.go:serveReaderFast` calls `http.ServeContent` with a zero `ModTime` and empty name, and only for `*os.File` readers, which neutralises the built-in conditional and range handling in `ServeContent`.

### Work
Set the ETag (and use it consistently) so `ServeContent` can perform `304`/range responses natively for file-backed snapshots.

### Acceptance
File-backed snapshot serving returns `304` for a matching `If-None-Match` and honours `Range` via `ServeContent`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.