Support the `If-None-Match` header
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
Línea de trabajo
No se nombran archivos, pruebas ni puntos de entrada. Empieza por localizar el manejo de solicitudes POST y PUT del servidor y el procesamiento de encabezados condicionales; después, revisa el comportamiento existente en torno a If-None-Match. La tarea estará terminada cuando el comportamiento solicitado de 412/no-overwrite esté cubierto y se hayan resuelto las cuestiones sobre POST/Slug y el acceso de solo escritura.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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 ?
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.8k
- Forks
- 308
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nodeSolidServer/node-solid-server
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
nodeSolidServer/node-solid-server#1848 · 2 comentarios · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nodeSolidServer/node-solid-server#1841 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nodeSolidServer/node-solid-server#1147 ·
-
remove bootstrap dependency Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
nodeSolidServer/node-solid-server#1853 ·