MFCaaS API Documentation
Managed File Compression as a Service
Do your systems generate 100’s, or 1000’s of log files?
Use our cloud-first approach to file compression by offloading the high CPU and Ram requirements to our systems with either a single server or a cluster of servers. Let us worry about file compression so your servers can get back to your business.
Note
This project is under active development.
Hosting on Google Cloud, and Microsoft Azure coming soon.
7-Zip compression coming soon.
Explainer Video
Compress a file:
Required arguments
- ext
string: oneof (“gz”, “zip”, “zst”, “br”, “xz”, “bz2”)
- files
- one or more files to compress
files can be a single http or https url
OR
files may be one or more form file posts
Code Examples
- Files for Testing
- https://gist.github.com/github-mfcaas
All test files
$ curl --location 'http://my-server/compress' \
--form 'files=@"/C:/data/large-file.txt"' \
--form 'ext="gz"'
$ curl --location 'http://my-server/compress' \
--form 'files=@"/C:/data/large-file.txt"' \
--form 'ext="zip"'
$ curl --location 'http://my-server/compress' \
--form 'files=@"/C:/data/large-file.txt"' \
--form 'files=@"/C:/data/medium-size-file.txt"' \
--form 'ext="gz"'
$ curl --location 'http://my-server/compress' \
--form 'files=@"/C:/data/large-file.txt"' \
--form 'files=@"/C:/data/medium-size-file.txt"' \
--form 'ext="zip"'
{
"body": {
"ext": "zip",
"files": [
"large-file.txt"
],
"status": "QUEUED",
"status_url": "http://my-server/getstatus?taskid=5a1696e5-d01e-4bc6-85b8-23af3f5febda",
"taskid": "5a1696e5-d01e-4bc6-85b8-23af3f5febda"
},
"headers": {
"content-type": "application/json"
},
"status_code": 200
}
{
"body": {
"ext": "zip",
"files": [
"large-file.txt",
"medium-size-file.txt"
],
"status": "QUEUED",
"status_url": "http://my-server/getstatus?taskid=5a1696e5-d01e-4bc6-85b8-23af3f5febda",
"taskid": "5a1696e5-d01e-4bc6-85b8-23af3f5febda"
},
"headers": {
"content-type": "application/json"
},
"status_code": 200
}
{
"body": {
"datecreated": "2023-09-09 23:33:14",
"download_url": "http://my-server/getcompletedtask?taskid=5a1696e5-d01e-4bc6-85b8-23af3f5febda",
"ext": "zip",
"files": [
{
"filename": "large-file.txt",
"id": 430537
}
],
"status": "COMPLETED",
"taskid": "5a1696e5-d01e-4bc6-85b8-23af3f5febda"
},
"headers": {
"content-type": "application/json"
},
"status_code": 200
}
{
"body": {
"datecreated": "2023-09-09 23:33:14",
"download_url": "http://my-server/getcompletedtask?taskid=5a1696e5-d01e-4bc6-85b8-23af3f5febda",
"ext": "zip",
"files": [
{
"filename": "large-file.txt",
"filename": "medium-size-file.txt",
"id": 430537
}
],
"status": "COMPLETED",
"taskid": "5a1696e5-d01e-4bc6-85b8-23af3f5febda"
},
"headers": {
"content-type": "application/json"
},
"status_code": 200
}
Fetch your compressed files
GET http://my-server/getcompletedtask?taskid=5a1696e5-d01e-4bc6-85b8-23af3f5febda
Returns an application/octet-stream, application/x-zip, application/gzip etc.