Processing HTTP messages
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 563
- Forks
- 108
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 3
Description
Background: The Solid protocol requires servers to reject PUT, POST, PATCH requests without the Content-Type header ( #server-content-type ). The rationale was to avoid unclarity / variability in servers when Content-Type is not present and the cost of servers and clients to deal with the consequences. This is "strict" from the point of the protocol, and improves the simplicity and security of the system.
The Solid Protocol (as per https://solidproject.org/TR/2021/protocol-20211217 and https://solidproject.org/ED/protocol as of this writing) does not require receivers to process the HTTP message body, unless otherwise specified, e.g., #n3-patch for Content-Type: text/n3.
Should the Solid Protocol require how receivers process HTTP messages (in the context of the Content-Type provided)? Consider cases where the payload is invalid once parsed, as per, e.g., a concrete RDF syntax.
There is a whole paragraph on numerous considerations in https://solidproject.org/TR/protocol#consider-request-validation that touches the concern here. The question is whether there should be a particular requirement or additional advisory.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Solid Protocol sections on request validation and the linked discussions for #server-content-type and #n3-patch. Compare the current requirements with the question about invalid parsed payloads; done means reaching and recording a decision on whether a processing requirement or advisory should be added.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, documentation, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100