我正在尝试使用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
,但没有帮助。有什么想法吗?
答案 0 :(得分:1)
在响应实体(而不是请求实体)上使用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流Source
。