Support the `If-None-Match` header
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
Direção de pesquisa
Nenhum arquivo, teste ou ponto de entrada é especificado. Comece localizando o tratamento de requisições POST e PUT do servidor e o processamento de cabeçalhos condicionais; em seguida, revise o comportamento existente em torno de If-None-Match. O trabalho estará concluído quando o comportamento solicitado de 412/no-overwrite estiver coberto e as questões sobre POST/Slug e acesso somente para escrita estiverem resolvidas.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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 ?
- Linguagem predominante
- JavaScript
- Estrelas
- 1.8k
- Forks
- 308
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de nodeSolidServer/node-solid-server
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
nodeSolidServer/node-solid-server#1848 · 2 comentários · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
nodeSolidServer/node-solid-server#1841 · 2 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
nodeSolidServer/node-solid-server#1147 ·
-
remove bootstrap dependency Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 45/100
nodeSolidServer/node-solid-server#1853 ·
Todas as issues de nodeSolidServer/node-solid-server
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Theme loads third-party resources on every page (jsdelivr web font, cdnjs Font Awesome) – GDPR Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
docToolchain/docToolchain#1705 ·
-
Timezone select lists one option per character; duplicate "Failed" reason; shared tracker popover id Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
nightscout/nocturne#1414 ·
-
bug v2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
modelcontextprotocol/inspector#2458 · 1 comentário ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
carbon-design-system/ibm-products#9907 ·