播放WS(2.2.1):发布/发出大量请求

时间:2013-11-11 14:48:42

标签: scala playframework

我正在使用Play.WS发出http请求。我的目标是发送带有大文件的put请求。

val requestHolder = WS.url("http://" + host)
requestHolder.put(???)

我不知道应该是什么类型的???流动身体。 requestHolder有一个put(文件文件)方法 - 我不能使用因为我没有文件 - 并且只要你有一个Writable实例就把[T](T体)放在T可以是任何东西[ T]。

为json,text,xml等定义了一些默认可写入。但是对于InputStream,例如非。

文档提供(简要)提示来处理大型响应,但没有关于大型请求http://www.playframework.com/documentation/2.2.x/ScalaWS

任何人都知道如何定义一个可以接受InputStream的可写文件?或者也许是一个Iteratee?

2 个答案:

答案 0 :(得分:2)

WS underlying client takes InputStream。像这样访问它:

import com.ning.http.client.AsyncHttpClient

val client:AsyncHttpClient = WS.client

答案 1 :(得分:1)

不幸的是,这还不支持。

这里有一点关于它的讨论:

https://github.com/playframework/playframework/pull/1510

我们希望对于Play 2.3,我们将有一个允许它的解决方案。