1N/A
1N/Apkg
1N/AUse of REST
1N/A
1N/AWe use REST over HTTP as the primary networking API between client and
1N/Aserver. That choice means that
1N/A
1N/A- the client can be reimplemented,
1N/A
1N/A- the server can be reimplemented, and
1N/A
1N/A- decorations on a transaction, like authentication, encryption, and
1N/A redirection, can be handled using the enormous technology set around
1N/A HTTP.
1N/A
1N/AThe first two are true of any well-defined protocol, but we benefit in
1N/Athis case from the wide availability of HTTP client and server
1N/Aimplementation starting points.
1N/A
1N/AInstaller API:
1N/A
1N/AGET /catalog
1N/AGET /version/pkg_name
1N/AGET /depend/pkg_name
1N/AGET /data/pkg_name[/from[/to]]
1N/A
1N/APackager API:
1N/A
1N/APOST /trans/pkg_name
1N/A Returning a transaction ID
1N/APOST /add/trans_id/type
1N/A Plus metadata in submitted headers and contents as file body.
1N/AGET /summary/trans_id
1N/APOST /meta/trans_id/require
1N/A Dependency metadata in submitted headers.
1N/APOST /commit/trans_id
1N/A Returning package URL.
1N/A