Some http api ideas

This commit is contained in:
Felix Geisendörfer 2013-03-17 00:32:37 +01:00
parent dc8bbd2716
commit 7de78882ab
1 changed files with 54 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# tus # tus
A dedicated file upload server written in Go. A dedicated server for resumable file uploads written in Go.
## Roadmap ## Roadmap
@ -19,6 +19,59 @@ After this, and based on the feedback, we will continue the development, and
start to offer the software as a hosted service. All code will continue to be start to offer the software as a hosted service. All code will continue to be
released as open source, there will be no bait and switch. released as open source, there will be no bait and switch.
## HTTP API
## `POST /files`
**Request**
```
POST /files HTTP/1.1
Host: tus.example.com
Content-Length: 0
Content-Range: bytes */100
Content-Type: "image/png"
```
**Response:**
```
HTTP/1.1 201 Created
Location: http://tus.example.com/files/123d3ebc995732b2
```
```json
{
"id": "123d3ebc995732b2",
"url": "http://tus.example.com/files/123d3ebc995732b2",
"received": 0,
"size": 0,
"parts": []
}
```
In this case the client would proceed by querying the server:
## `GET /files/123d3ebc995732b2`
**Request:**
```
GET /files/123d3ebc995732b2/d930cc9d304cc667 HTTP/1.1
Host: tus.example.com
Content-Length: 0
Content-Range: bytes */*
```
The server responds by informing the client about the status of the partial
upload:
**Response:**
```
HTTP/1.1 206 Partial Content
Content-Length: 0
Content-Range: 0-49/100
```
@TODO Document resume operation
## License ## License
This project is licensed under the AGPL v3. This project is licensed under the AGPL v3.