Skip to content

Splice local versions into metadata responses #134

Description

@andrew

After #133 an operator can upload a package version into the proxy, but resolvers won't see it because the proxy still serves the upstream's version list unchanged.

Each handler's metadata path should look up locally-stored versions for the requested package and append them to the upstream response before serving it. If a local version has the same number as an upstream one, the local copy wins.

The nine handlers that already parse metadata for cooldown (npm, Composer, PyPI, Cargo, pub, NuGet, Hex, RubyGems, Conda) have the encode/decode in place; they need a proxy.LocalVersions(ecosystem, name) lookup and an append step. The remaining ecosystems need the same metadata parsing that #132 tracks, so this and #132 share a backlog.

The splice layer should take a generic list of extra entries (version, filename, sha256, download URL) so that future work like fork name-mapping can feed the same code path from a different source.

Depends on #133.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions