nodeSolidServer / nodeSolidServer/node-solid-server

Support the `If-None-Match` header

Ouverte
#1,431 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
1.8k
Forks
308
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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 ?

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Aucun fichier, test ou point d’entrée n’est indiqué. Commencez par localiser le traitement des requêtes POST et PUT du serveur ainsi que le traitement des en-têtes conditionnels, puis examinez le comportement existant autour de If-None-Match. La tâche est terminée lorsque le comportement demandé 412/no-overwrite est couvert et que les questions concernant POST/Slug et l’accès en écriture seule sont résolues.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
api, backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.