Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9f96286

Browse files
committedSep 17, 2020
clarify Content-Type / Content-Encoding / Content-Language handling
closes #158
1 parent f0fadd5 commit 9f96286

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed
 

‎protocol.md

+30-1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Kleidl](https://twitter.com/Acconut_)<br>
4545
[J. Ryan Stinnett](https://convolv.es),
4646
[Ifedapo Olarewaju](https://github.com/ifedapoolarewaju)
4747
[Robert Nagy](https://github.com/ronag)
48+
[Nils Goroll](https://github.com/nigoroll)
4849

4950
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
5051
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
@@ -299,7 +300,7 @@ Host: tus.example.org
299300
Content-Length: 0
300301
Upload-Length: 100
301302
Tus-Resumable: 1.0.0
302-
Upload-Metadata: filename d29ybGRfZG9taW5hdGlvbl9wbGFuLnBkZg==,is_confidential
303+
Upload-Metadata: filename d29ybGRfZG9taW5hdGlvbl9wbGFuLnBkZg==,filetype YXBwbGljYXRpb24vcGRm,is_confidential
303304
```
304305

305306
**Response:**
@@ -334,6 +335,34 @@ Since metadata can contain arbitrary binary values, Servers SHOULD
334335
carefully validate metadata values or sanitize them before using them
335336
as header values to avoid header smuggling.
336337

338+
Clients and servers SHOULD implement the metadata key ``filetype``
339+
with the value containing the actual ``Content-Type`` of the Upload
340+
(because the ``Content-Type`` header is formally required to be set to
341+
``application/offset+octet-stream`` for [Creation with
342+
Upload](#creation-with-upload)).
343+
344+
Clients and servers MAY support additional well known metadata keys:
345+
346+
* ``filename`` for a common file name
347+
348+
The specific metadata keys documented herein are reserved for the
349+
respective use and MUST NOT be used for other purposes.
350+
351+
##### [Content-Encoding](https://httpwg.org/specs/rfc7231.html#header.content-encoding)
352+
353+
Clients MUST set the ``Content-Encoding`` header correctly IFF a
354+
content encoding is used.
355+
356+
As per RFC7231, Servers MUST respond with status 415 if they can not
357+
accept the ``Content-Encoding`` chosen by the client.
358+
359+
Servers MUST either store the ``Content-Encoding`` and deliver it with
360+
subsequent requests, or properly decode the content before storing it.
361+
362+
##### [Content-Language](https://httpwg.org/specs/rfc7231.html#header.content-language)
363+
364+
Clients and Servers SHOULD support the ``Content-Language`` header.
365+
337366
#### Requests
338367

339368
##### POST

0 commit comments

Comments
 (0)
Please sign in to comment.