View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007403 | GNUnet | namestore service | public | 2022-10-19 09:07 | 2023-08-06 19:03 |
Reporter | schanzen | Assigned To | schanzen | ||
Priority | normal | Severity | tweak | Reproducibility | have not tried |
Status | assigned | Resolution | open | ||
Summary | 0007403: Fix NAMESTORE REST POST/PUT and add PATCH | ||||
Description | GET /namestore/$ZNAME Should return an ETag set to the hash of the record set (see below). POST /namestore/$ZNAME is not ideal, as it doesn't allow the client to ensure that it didn't accidentally (!) change an existing record. I would use POST only to create a new resource (and fail with 409 conflict if the given name already exists). You could also just use POST /namestore/$ZONE/$LABEL for this and not have the label in the record set. Then, for updates, we should use PATCH /namestore/$ZONE/$LABEL. PATCH should use If-not-modified with the ETag from the GET to make the operation atomic: if someone else did a PATCH since the GET, the PATCH would fail. A client could then set the If-not-modified header to ensure atomic updates, or omit it to override whatever record is there without worrying about atomicity. PATCH without If-not-modified would then also give you UPSERT (update and if not exists insert) | ||||
Tags | ngi-entrust-2022-08-104 | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2022-10-19 09:07 | schanzen | New Issue | |
2022-10-19 09:07 | schanzen | Issue generated from: 0007400 | |
2022-10-19 09:08 | schanzen | Relationship added | parent of 0007402 |
2022-10-19 09:08 | schanzen | Relationship deleted | parent of 0007402 |
2022-10-19 09:09 | schanzen | Relationship added | child of 0007404 |
2022-10-19 09:10 | schanzen | Relationship deleted | child of 0007404 |
2022-10-19 09:26 | schanzen | Assigned To | => schanzen |
2022-10-19 09:26 | schanzen | Status | new => assigned |
2023-08-06 19:03 | schanzen | Tag Attached: ngi-entrust-2022-08-104 |