pkg
Use of REST
We use REST over HTTP as the primary networking API between client and
server. That choice means that
- the client can be reimplemented,
- the server can be reimplemented, and
- decorations on a transaction, like authentication, encryption, and
redirection, can be handled using the enormous technology set around
HTTP.
The first two are true of any well-defined protocol, but we benefit in
this case from the wide availability of HTTP client and server
implementation starting points.
Installer API:
GET /catalog
GET /version/pkg_name
GET /depend/pkg_name
GET /data/pkg_name[/from[/to]]
Packager API:
POST /trans/pkg_name
Returning a transaction ID
POST /add/trans_id/type
Plus metadata in submitted headers and contents as file body.
GET /summary/trans_id
POST /meta/trans_id/require
Dependency metadata in submitted headers.
POST /commit/trans_id
Returning package URL.