# 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 ```bash { "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. #### input ```bash curl -X POST -H "token: myuploadtoken" -F "file=@tests/file" http://docker10.host.lan:5040/upload | jq ``` #### output ```bash { "success": "File 'file' successfully uploaded" } ``` ### /download #### input ```bash wget http://docker10.host.lan:5040/download/file ``` ### /delete #### input ```bash curl -X DELETE -H "token: myuploadtoken" http://docker10.host.lan:5040/delete/file | jq ``` #### output ```bash { "success": "File 'file' successfully deleted" } ```