HTTP-клиент Akka EntityStreamSizeException - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь отправить запрос на получение моего локального хоста, используя Akka HTTP, и получаю следующее исключение:

EntityStreamSizeException: actual entity size (Some(10166731700)) exceeded content length limit (8388608 bytes)! You can configure this by setting akka.http.[server|client].parsing.max-content-length or calling HttpEntity.withSizeLimit before materializing the dataBytes stream.)

По сути, файл на моем локальном хосте, который я пытаюсь запросить, очень большой.

Я пытался решить ее с помощью withoutSizeLimit, но она не работает:

val request = Get("http://localhost:8080/oa-ok.ntriples")
val limitedRequest = request.withEntity(request.entity.withoutSizeLimit())
val responseFuture = Http().singleRequest(limitedRequest)

Я также пытался использовать withSizeLimit, и это не помогло. Есть идеи?

1 Ответ

0 голосов
/ 08 ноября 2018

Используйте withoutSizeLimit для объекта ответа, а не объекта запроса. Например:

val responseFuture: Future[HttpResponse] =
  Http().singleRequest(HttpRequest(uri = "http://localhost:8080/oa-ok.ntriples"))

val responseSource: Source[ByteString, NotUsed] =
  Source.fromFuture(responseFuture)
    .flatMapConcat(_entity.withoutSizeLimit.dataBytes)

responseSource - это Akka Streams Source объекта ответа.

...