You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#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)
figure out what is missing in loadTerminalEntity from gateway/backend_car.go to be able to read mtime from the root dag-pb block of requested file, update any upstream libraries if necessary
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)
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 and Head and ContentPathMetadata needs to be updated there as well -- this is why conformance tests need to be added after we have car backend implemented first)
#659 introduced support for returning optional UnixFS 1.5 mtime value as
Last-Modifiedheader, and returning304 Not Modifiedif it is matchingIf-Modified-Sincesent with a file request.This
gateway/backend_blocks.go(used by Kubo and Rainbow)gateway/backend_car.go(used in boxo/gateway conformance tests here and in Rainbow withRAINBOW_REMOTE_BACKENDS_MODE=car)Remaining work here:
loadTerminalEntityfromgateway/backend_car.goto be able to readmtimefrom the root dag-pb block of requested file, update any upstream libraries if necessaryLast-Modifiedon deserialized GET responsesLast-Modifiedon deserialized HEAD responsesIf-Modified-Since(UnixFS 1.5 file only)GetandHeadandContentPathMetadataneeds to be updated there as well -- this is why conformance tests need to be added after we have car backend implemented first)