# python-api-server a small flask-application for storing and downloading stuff like small binaries ## 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 ## 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 existing file has the same name as the newly uploaded 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" } ``` ### /health #### input ```bash curl http://docker10.host.lan:5040/health ``` #### output ```bash OK ```