[英]How to set the maximum content length with akka's http client?
如果我嘗試下載一個非常大的文件(超過100 MB),則會出現此錯誤:
You can configure this by setting `akka.http.[server|client].parsing.max-content-length` or calling `HttpEntity.withSizeLimit` before materializing the dataBytes stream.
val responseFuture: Future[HttpResponse] =
Http().singleRequest(HttpRequest(uri = "http://akka.io"))
我正在閱讀我可以以某種方式將HttpEntity設置為不帶withoutSizeLimit
,該怎么做?
順便說一句,如果我將那些配置設置添加到我的application.config中,它不能解決問題:
akka.http.server.parsing.max-content-length=913753229
akka.http.client.parsing.max-content-length=913753229
我注意到的源代碼注釋withSizeLimit(maxBytes: Long)
的方法akka.http.scaladsl.model.HttpEntity
:
請注意,只有通過
HttpEntity.limitable
方法適當修改了此實體中包含的Source
實例時,通過此方法應用的大小限制才有效。 對於HTTP層本身創建的所有實體,情況總是如此,但是如果您自己創建實體,並希望它們正確遵守通過此方法定義的限制,則需要確保自己應用HttpEntity.limitable
。
也許您需要使用HttpEntity
對象limitableByteSource()
方法轉換Source
,以使withoutSizeLimit
生效。 這里有一些示例: akka http doc 。
我遇到了同樣的問題,但是文檔中有關withSizeLimit()
為什么withSizeLimit()
信息較少。 幸運的是,源代碼提供了有用的信息:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.