# python-api-server
## Variables
``MAX_CONTENT_LENGTH``: maximal Filesize in MB; defaults to 5MB
``UPLOAD_DIRECTORY``: where to store the uploaded files; should be mapped to a volume; defaults to "/uploads"
``AUTH_TOKEN``: token used for authenticating
## ToDo
- [ ] wsgi server
## Example Docker-Compose
see [docker-compose.yml](./docker-compose.yml)
## API-Endpoints
### /list
#### input
```bash
curl -H "token: myuploadtoken" http://docker10.host.lan:5040/list | jq
```
#### output
{
"files": [
"last_modified": "2023-04-13 11:43:51",
"name": "file1",
"size": 1034
},
"last_modified": "2023-04-13 11:53:59",
"name": "file2",
"size": 5
"last_modified": "2023-04-13 12:41:18",
"name": "file3",
"size": 3478
}
]
### /upload
If a file is uploaded with the same name as an existing file, it will be overwritten.
curl -X POST -H "token: myuploadtoken" -F "file=@tests/file" http://docker10.host.lan:5040/upload | jq
"success": "File 'file' successfully uploaded"
### /download
wget http://docker10.host.lan:5040/download/file
### /delete
curl -X DELETE -H "token: myuploadtoken" http://docker10.host.lan:5040/delete/file | jq
"success": "File 'file' successfully deleted"