- Непосредственная сборка и установка на локальной машине:
$ git clone https://github.com/lialsoftlab/trlogic_test \
&& cd trlogic_test \
&& cargo test --all \
&& cargo run --release
Микросервис в таком случае подключится и будет отвечать на http://localhost:8000, что можно изменить посредством ключей --host
и --port
файлы будут сохранятся в ./uploads/ можно изменить ключем --upload
. Установкой переменной среды RUST_LOG=trlogic_test=info (или debug или trace) можно управлять журналированием запросов.
- Сборка и запуск через docker-compose:
$ git clone https://github.com/lialsoftlab/trlogic_test \
&& cd trlogic_test \
&& docker-compose up
Микросервис будет собран, развернут и запущен на дефолтном экземпляре докера на 8000 порту. Файлы будут сохраняться в /var/lib/trlogic_test/uploads.
Микросервис отвечает на POST запросы по url /images
с Content-Type: multipart/form-data
, в таком случае в файлы будут сохранены все поля имеющие тип image/..., либо с Content-Type: application/json
в таком случае в теле запроса должен быть размещен JSON-массив с объектами описывающими ссылки на внешние ресурсы которые нужно скачать, либо данные картинки в формате base64.
Пример допустимого запроса:
[
{
"url": "https://via.placeholder.com/123.jpg"
},
{
"filename": "sample.jpg",
"content_type": "image/jpeg",
"data": "~~~base64-encoded-image-data-here~~~"
}
]