Support the `If-None-Match` header
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
Rechercherichtung
Es sind keine Dateien, Tests oder Einstiegspunkte angegeben. Beginne damit, die Verarbeitung von POST- und PUT-Anfragen des Servers sowie die Verarbeitung bedingter Header zu lokalisieren, und prüfe anschließend das bestehende Verhalten rund um If-None-Match. Erledigt ist die Aufgabe, wenn das angeforderte 412/no-overwrite-Verhalten abgedeckt ist und die Fragen zu POST/Slug und Nur-Schreib-Zugriff geklärt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Expected behaviour
POSTa resource to an IRI where a resource already exists, with theIf-None-Matchheader set.- The server returns 412, and the original resource is unchanged.
Actual behaviour
POSTa resource to an IRI where a resource already exists, with theIf-None-Matchheader set.- The server returns
201 Created, and the original resource is overwritten.
Additional context
When receiving a resource creation request (i.e. POST or PUT, possibly PATCH?), if the If-None-Match header is set, the server should perform a check to ensure that no resource is already stored at the target IRI.
In the case of POST, since the Slug header is meant to be a hint and not a hard constraint, I'm not sure what the behaviour should be, but when PUTting a resource to an IRI where a resource already exists, an If-None-Match request should fail with 412.
Open question
When only having write (but not read) access to a container, can this be used to exfiltrate information one should not be allowed to access ?
- Vorherrschende Sprache
- JavaScript
- Sterne
- 1.8k
- Forks
- 308
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nodeSolidServer/node-solid-server
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
nodeSolidServer/node-solid-server#1848 · 2 Kommentare · 1 Reaktion ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
nodeSolidServer/node-solid-server#1841 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
nodeSolidServer/node-solid-server#1147 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
nodeSolidServer/node-solid-server#1853 ·
Alle Issues in nodeSolidServer/node-solid-server
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Theme loads third-party resources on every page (jsdelivr web font, cdnjs Font Awesome) – GDPR Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
docToolchain/docToolchain#1705 ·
-
Timezone select lists one option per character; duplicate "Failed" reason; shared tracker popover id Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
nightscout/nocturne#1414 ·
-
bug v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
modelcontextprotocol/inspector#2458 · 1 Kommentar ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
carbon-design-system/ibm-products#9907 ·