aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md91
-rw-r--r--docker-compose.yml6
2 files changed, 92 insertions, 5 deletions
diff --git a/README.md b/README.md
index 77a8548..9cdd0be 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,92 @@
-# wsgi server
+# python-api-server
+## Variables
-# dateinmit sleben namen werden überschrieben
+``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"
+}
+```
diff --git a/docker-compose.yml b/docker-compose.yml
index 32ac66c..52b1267 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,9 +10,9 @@ services:
environment:
# FLASK_DEBUG: 1 # for debugging
# FLASK_APP: app # for debugging
- MAX_CONTENT_LENGTH: 10 # in MB; default 5MB
- UPLOAD_DIRECTORY: /uploads # where to store the uploaded files; should be mapped to a docker volume; default "/uploads"
- AUTH_TOKEN: myuploadtoken # token used for authenticating
+ MAX_CONTENT_LENGTH: 10
+ UPLOAD_DIRECTORY: /uploads
+ AUTH_TOKEN: myuploadtoken
volumes:
uploads: