nodeSolidServer / nodeSolidServer/node-solid-server
Support the `If-None-Match` header
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.8k
- 派生
- 308
- PR 合并指标
- 30 天内没有已合并 PR
描述
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 ?
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
未指定文件、测试或入口点。首先定位服务器对 POST 和 PUT 请求的处理以及条件标头的处理,然后检查 If-None-Match 周围现有的行为。完成的标准是,所请求的 412/no-overwrite 行为已得到覆盖,并且 POST/Slug 和只写访问权限相关的问题已得到解决。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- api, backend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100