View Issue Details

IDProjectCategoryView StatusLast Update
0007403GNUnetnamestore servicepublic2023-08-06 19:03
Reporterschanzen Assigned Toschanzen  
PrioritynormalSeveritytweakReproducibilityhave not tried
Status assignedResolutionopen 
Summary0007403: Fix NAMESTORE REST POST/PUT and add PATCH
DescriptionGET /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)


There are no notes attached to this issue.

Issue History

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