Am 24.05.2016 um 08:24 schrieb Jacob Carlborg:
On 2016-05-23 17:40, Sönke Ludwig wrote:

Oh, okay, misunderstood that. The basic protocol is very simple:

GET /packages/index.json
Yields a JSON array with all package names

GET /packages/[package].json
Returns a JSON object with general information about a package,
including all available versions

GET /packages/[package]/[version].json
Returns a JSON object with the package recipe of a particular version
(dub.json format), augmented with some additional fields

GET /packages/[package]/[version].zip
Yields a zipped up version of the package

So dependencies are fetched when they are discovered based on a package?
Wouldn't it be more efficient to have an API call that given a list of
packages, returns the full set of dependencies in one call. Then it
would be possible to fetch the dependencies in parallel.

Since fetching dependencies usually saturates the network connection, that wouldn't save much time (or do you just mean fetching the package recipes in parallel?). But because it also requires full dependency resolution, it would have a considerable impact on server load. And of course that would make it impossible to use a simple file server as a package registry.

Reply via email to