Skip to content

gateway: support for UnixFS 1.5 Last-Modified/If-Modified-Since with remote CAR backend #664

@lidel

Description

@lidel

#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

Remaining work here:

  • prerequisites
    • 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium: Good to have, but can wait until someone steps updif/mediumPrior experience is likely helpfuleffort/daysEstimated to take multiple days, but less than a weekhelp wantedSeeking public contribution on this issuekind/enhancementA net-new feature or improvement to an existing featuretopic/gatewayIssues related to HTTP Gateway

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions