Change X-Content-Digest for X-SHA-256

This commit is contained in:
quentintaranpino
2024-09-12 09:44:20 +02:00
parent 381edc3777
commit 8e633d00b9

View File

@@ -10,11 +10,11 @@ Defines how clients can verify if the upload can be completed before sending the
## HEAD /upload - Upload requirements
The `HEAD /upload` endpoint `MUST` use the `Content-Digest`, `X-Content-Type` and `X-Content-Length` headers sent by client to get the SHA-256 hash, MIME type and size of the blob that will be uploaded, returning a HTTP status code and a custom header `X-Upload-Message` to indicate some human readable message about the upload requirements.
The `HEAD /upload` endpoint `MUST` use the `X-SHA-256`, `X-Content-Type` and `X-Content-Length` headers sent by client to get the SHA-256 hash, MIME type and size of the blob that will be uploaded, returning a HTTP status code and a custom header `X-Upload-Message` to indicate some human readable message about the upload requirements.
### Headers
- `Content-Digest`: A string formatted as `sha-256=:<base64digest>:`, where `<base64digest>` is the base64-encoded SHA-256 hash of the blob.
- `X-SHA-256`: A string that represents the blob's SHA-256 hash.
- `X-Content-Length`: An integer that represents the blob size in bytes.
- `X-Content-Type`: A string that specifies the fblobile's MIME type, like `application/pdf` or `image/png`.
- `X-Upload-Message`: A human readable message that explains the reason why the upload cannot proceed.
@@ -32,7 +32,7 @@ Example request from the client:
```http
X-Content-Type: application/pdf
X-Content-Length: 184292
Content-Digest: SHA-256=:88a74d0b866c8ba79251a11fe5ac807839226870e77355f02eaf68b156522576:
X-SHA-256: 88a74d0b866c8ba79251a11fe5ac807839226870e77355f02eaf68b156522576
```
Example response from the server if the upload can be done:
@@ -48,27 +48,27 @@ Some examples of error messages:
```http
HTTP/1.1 400 Bad Request
X-Upload-Message: Invalid Content-Digest header format. Expected format: sha-256=:<hash>:
X-Upload-Message: Invalid X-SHA-256 header format. Expected a string.
```
```http
HTTP/1.1 401 Unauthorized
X-Upload-Message: Authorization required for uploading video files
X-Upload-Message: Authorization required for uploading video files.
```
```http
HTTP/1.1 401 Forbidden
X-Upload-Message: Account banned
X-Upload-Message: SHA-256 hash banned.
```
```http
HTTP/1.1 411 Length Required
X-Upload-Message: Missing Content-Length or X-Content-Length headers
X-Upload-Message: Missing X-Content-Length header.
```
```http
HTTP/1.1 413 Content Too Large
X-Upload-Message: File too large. Max allowed size is 100MB
X-Upload-Message: File too large. Max allowed size is 100MB.
```
```http