- Непосредственная сборка и установка на локальной машине:
$ 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~~~"
}
]