docs: update README with configuration details and API endpoints; modify index.js logging message
This commit is contained in:
parent
aa5b00f653
commit
3fd60617fb
70
README.md
70
README.md
@ -1,5 +1,75 @@
|
|||||||
# simple http file api
|
# simple http file api
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
API_KEY: if set, then the client must send the authrization header with the value "Bearer {API_KEY}", otherwise the api returnes 401. If not set, no authentication needed
|
||||||
|
|
||||||
|
UPLOAD_PATH: path, where the uploaded files will be stored
|
||||||
|
CONFIG: config in json format
|
||||||
|
e.g.
|
||||||
|
{
|
||||||
|
"uploadGroups": [
|
||||||
|
{
|
||||||
|
"matcher": "^mmkb-android-[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}-int.apk$", "groupSize": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
uploadGroups: groups of files defined by a regex matcher. For each group can be set a groupSize property. If the file count in the group is more then the groupSize,
|
||||||
|
then the oldest files in the group will be deleted.
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
### get all uploaded files
|
||||||
|
|
||||||
|
path: /
|
||||||
|
method: GET
|
||||||
|
|
||||||
|
get all uploaded files
|
||||||
|
|
||||||
|
### get the sate of the actual upload groups
|
||||||
|
|
||||||
|
path: /state
|
||||||
|
method: GET
|
||||||
|
|
||||||
|
Get the state of the actual upload groups
|
||||||
|
|
||||||
|
### Cleanup
|
||||||
|
|
||||||
|
path: /clean
|
||||||
|
|
||||||
|
Execute a cleanup manually.
|
||||||
|
Cleanup is beased on the uploadGroups configuration
|
||||||
|
|
||||||
|
### Get file
|
||||||
|
|
||||||
|
path /:filename
|
||||||
|
method: GET
|
||||||
|
|
||||||
|
get the file with the given name
|
||||||
|
|
||||||
|
### Delete file
|
||||||
|
|
||||||
|
path /:filename
|
||||||
|
method: DELETE
|
||||||
|
|
||||||
|
Delete the file with the given name
|
||||||
|
|
||||||
|
### Upload file
|
||||||
|
|
||||||
|
path /
|
||||||
|
method: POST
|
||||||
|
|
||||||
|
Upload a file. If file with the given name already exists, http status 409 will be returned.
|
||||||
|
After a successfull file upload, a cleanup will be performed
|
||||||
|
|
||||||
|
### Upload file
|
||||||
|
|
||||||
|
path /
|
||||||
|
method: PUT
|
||||||
|
|
||||||
|
Upload a file. If the file with the given name already exists, it will be overwritten
|
||||||
|
After a successfull file upload, a cleanup will be performed
|
||||||
|
|
||||||
|
|
||||||
## Create Docker image
|
## Create Docker image
|
||||||
|
|||||||
4
index.js
4
index.js
@ -8,7 +8,7 @@ const port = 3000;
|
|||||||
|
|
||||||
const uploadPath = process.env.UPLOAD_PATH || '/tmp';
|
const uploadPath = process.env.UPLOAD_PATH || '/tmp';
|
||||||
const config = process.env.CONFIG || "{ \"uploadGroups\": [] }";
|
const config = process.env.CONFIG || "{ \"uploadGroups\": [] }";
|
||||||
//const config = process.env.CONFIG || "{ \"uploadGroups\": [{ \"matcher\": \"^mmkb-android-.*-test\\.apk$\", \"groupSize\": 3},{ \"matcher\": \"^mmkb-android-.*-int\\.apk$\", \"groupSize\": 3},{ \"matcher\": \"^mmkb-android-.*-prod\\.apk$\", \"groupSize\": 3}] }";
|
|
||||||
|
|
||||||
console.info("Upload path: ", uploadPath);
|
console.info("Upload path: ", uploadPath);
|
||||||
console.info("Config: ", config);
|
console.info("Config: ", config);
|
||||||
@ -184,5 +184,5 @@ app.get('/:filename', (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log(`Example app listening on port ${port}`);
|
console.log(`Start app listening on port ${port}`);
|
||||||
});
|
});
|
||||||
Loading…
Reference in New Issue
Block a user