clj-http: отслеживание хода загрузки файла из нескольких частей

Я делаю загрузку файлов из нескольких частей, используя clj-http. Мне интересно, есть ли способ, которым я могу отслеживать ход загрузки файла. Может быть, какая-то функция, которая периодически вызывается с тем, сколько файлов было загружено до сих пор?

1 ответ

clj-http использует Apache HTTP Client, чтобы вы могли повторно использовать решение, представленное в ответе на другой вопрос. Однако это не может быть легко.

Код, представленный в связанном ответе, обеспечивает расширенную реализацию HttpEntity, clj-http в настоящее время не поддерживает предоставление собственного экземпляра HttpEntity как ваше тело запроса.

У вас есть два варианта:

  1. Предоставьте пулл-запрос к clj-http, чтобы он поддерживал предоставление экземпляра HttpEntity как :body значение (например, путем добавления другого cond проверка филиала на HttpEntity значение или сделав wrap-input-coercion мультиметод, чтобы вы могли расширить его для HttpEntity).

  2. Обеспечить логику, аналогичную приведенной выше FileEntity а также OutputStreamProgress но в вашей реализации org.apache.http.entity.mime.content.ContentBody, clj-http поддерживает предоставление их в качестве значений для составных вложений. Недостатком здесь является то, что он будет отслеживать прогресс по вложениям, а не по всему запросу.

Другие вопросы по тегам