为单个喷雾罐管道设置最大内容

Set max-content for single spray-can pipeline

我有一个使用 spray-can 的应用程序,并且有一个模块使用管道定期从 http 端点请求大量信息。与我们执行的其他请求相比,这个请求是一个异常,因为它的响应通常是几兆字节。

目前我的 application.conf 中有以下内容:

spray.can.client.parsing {
   max-content-length = 8m
}

虽然我知道我可以将此值增加到该模块可接受的值,但如果只有一个模块需要增加限制,我宁愿不增加全局限制 max-content-length 变量。

有没有办法为单个管道定义最大内容长度?

我认为您无法配置不同的管道类型。我最近回答了a similar question关于为某些管道配置喷雾罐的问题,不幸的是问题是一样的。

发生这种情况的原因是http客户端的所有配置只在编译时完成。事实上,如果我们可以配置我们自己的 ClientConnectionSettings with our own ParserSettings and inject it to the Http 对象,我们就不会有任何问题。但是 Http 对象不接受任何 "runtime" 配置。