nodeSolidServer / nodeSolidServer/node-solid-server

Support the `If-None-Match` header

Offen
#1,431 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
JavaScript
Sterne
1.8k
Forks
308
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Expected behaviour

  • POST a resource to an IRI where a resource already exists, with the If-None-Match header set.
  • The server returns 412, and the original resource is unchanged.

Actual behaviour

  • POST a resource to an IRI where a resource already exists, with the If-None-Match header 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 ?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

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.

Bewertung

Tech-Stack
javascript
Bereich
api, backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.