generated from ipfs/ipfs-repository-template
-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Labels
P2Medium: Good to have, but can wait until someone steps upMedium: Good to have, but can wait until someone steps updif/mediumPrior experience is likely helpfulPrior experience is likely helpfuleffort/daysEstimated to take multiple days, but less than a weekEstimated to take multiple days, but less than a weekhelp wantedSeeking public contribution on this issueSeeking public contribution on this issuekind/enhancementA net-new feature or improvement to an existing featureA net-new feature or improvement to an existing featuretopic/gatewayIssues related to HTTP GatewayIssues related to HTTP Gateway
Description
#659 introduced support for returning optional UnixFS 1.5 mtime value as Last-Modified
header, and returning 304 Not Modified
if it is matching If-Modified-Since
sent with a file request.
This
- 🟢 works with
gateway/backend_blocks.go
(used by Kubo and Rainbow) - 🚧 but does not work with
gateway/backend_car.go
(used in boxo/gateway conformance tests here and in Rainbow withRAINBOW_REMOTE_BACKENDS_MODE=car
)
Remaining work here:
- prerequisites
- figure out what is missing in
loadTerminalEntity
fromgateway/backend_car.go
to be able to readmtime
from the root dag-pb block of requested file, update any upstream libraries if necessary
- figure out what is missing in
- car backend
- return
Last-Modified
on deserialized GET responses - return
Last-Modified
on deserialized HEAD responses - 304 Not Modified on matching
If-Modified-Since
(UnixFS 1.5 file only)
- return
- add gateway-conformance test for unixfs 1.5 and release it as new major version
- confirm conformance passes with all backends (remote car uses different implementation of
Get
andHead
andContentPathMetadata
needs to be updated there as well -- this is why conformance tests need to be added after we have car backend implemented first)
- confirm conformance passes with all backends (remote car uses different implementation of
Metadata
Metadata
Assignees
Labels
P2Medium: Good to have, but can wait until someone steps upMedium: Good to have, but can wait until someone steps updif/mediumPrior experience is likely helpfulPrior experience is likely helpfuleffort/daysEstimated to take multiple days, but less than a weekEstimated to take multiple days, but less than a weekhelp wantedSeeking public contribution on this issueSeeking public contribution on this issuekind/enhancementA net-new feature or improvement to an existing featureA net-new feature or improvement to an existing featuretopic/gatewayIssues related to HTTP GatewayIssues related to HTTP Gateway