aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-02-23 12:55:38 +0100
committerRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-02-23 12:55:38 +0100
commit0a1cc19a3cf51495fd12570940c877c85e4d6ac4 (patch)
tree82a19d922f53ba6c5a6e050da291ed86344ec951 /README.md
parent65c41183088f111aa289d1ea4c51bef7fa971226 (diff)
removed json, b64, and url-encode parser dependencies
Diffstat (limited to 'README.md')
-rw-r--r--README.md41
1 files changed, 26 insertions, 15 deletions
diff --git a/README.md b/README.md
index 12d65e5..31964e0 100644
--- a/README.md
+++ b/README.md
@@ -239,12 +239,11 @@ that it is up to the submitters to define hash functions, data formats, and
such.
## Public endpoints
-Clients talk to the log using HTTP(S). Parameters for HTTP GET requests are
-URL-encoded with `Content-Type: application/x-www-form-urlencoded`. In
-contrast, HTTP POST requests post a single base64-encoded serialized `StItem`
-with `Content-Type: text/plain`. The log returns HTTP Status `200 OK` to
-signal success, and the response (if any) is serialized and then base64-encoded
-with `Content-Type: text/plain`.
+Clients talk to the log using HTTP(S). Successfully processed requests are
+responded to with HTTP status code `200 OK`, and any returned data is
+serialized. Endpoints without input parameters use HTTP GET requests.
+Endpoints that have input parameters HTTP POST a TLS-serialized data structure.
+The HTTP content type `application/octet-stream` is used when sending data.
### add-entry
```
@@ -303,36 +302,48 @@ recent cosigned STH.
### get-proof-by-hash
```
-GET https://<base url>/st/v1/get-proof-by-hash
+POST https://<base url>/st/v1/get-proof-by-hash
```
Input:
-- `hash`: a base-64 encoded leaf hash using the log's hash function.
-- `tree_size`: the tree size that the proof should be based on in decimal.
+```
+struct {
+ opaque hash[32]; // leaf hash
+ uint64 tree_size; // tree size that the proof should be based on
+} GetProofByHashV1;
+```
Output:
- An `StItem` of type `inclusion_proof_v1`.
### get-consistency-proof
```
-GET https://<base url>/st/v1/get-consistency-proof
+POST https://<base url>/st/v1/get-consistency-proof
```
Input:
-- first: the `tree_size` of the older tree in decimal.
-- second: the `tree_size` of the newer tree in decimal.
+```
+struct {
+ uint64 first; // first tree size that the proof should be based on
+ uint64 second; // second tree size that the proof should be based on
+} GetConsistencyProofV1;
+```
Output:
- An `StItem` of type `consistency_proof_v1`.
### get-entries
```
-GET https://<base url>/st/v1/get-entries
+POST https://<base url>/st/v1/get-entries
```
Input:
-- `start`: 0-based index of first entry to retrieve in decimal.
-- `end`: 0-based index of last entry to retrieve in decimal.
+```
+struct {
+ uint64 start; // 0-based index of first entry to retrieve
+ uint64 end; // 0-based index of last entry to retrieve in decimal.
+} GetEntriesV1;
+```
Output:
- An `StItem` list where each entry is of type `signed_checksum_v1`. The first