nodeSolidServer / nodeSolidServer/node-solid-server
Support the `If-None-Match` header
まだ誰も着手していません。
- 主要言語
- 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ファイル、テスト、エントリポイントは指定されていません。まずサーバーの POST および PUT リクエスト処理と条件付きヘッダーの処理を見つけ、次に If-None-Match 周辺の既存の動作を確認してください。完了の条件は、要求された 412/no-overwrite の動作がカバーされ、POST/Slug と書き込み専用アクセスに関する問題が解決されていることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- api, backend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100