问题标签 [spray-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1041 浏览

scala - 带有文件的喷涂客户端上传表单

我有一个下一个表格:

我想发送请求 withname和 withfile

我用spray-client这个,当我只发送文件时,这个工作正常:

但是如何同时发送文件和字段呢?

0 投票
0 回答
197 浏览

spray - Spray.io unmarshaller for `application/atom+xml`

我在为 atom+xml 提要编写解组器时遇到问题。提要只是 XML,所以我希望能够依赖NodeSeqUnmarshaller,但解组器具有内容范围(text/xml, application/xml, text/html, application/xhtml+xml) - 即application/atom+xml不包含在列表中。

根据下面@jrudolph 的评论,我尝试使用 Unmarshaller.delegate 解决问题,如下所示:

我在运行时看到此异常消息:

所以,我被困住了,如果你能提供任何帮助,我将不胜感激。非常感谢。

0 投票
1 回答
41 浏览

scala - 如何在不下载整个页面的情况下异步获取标题?

如果响应内容类型是“text/html”(并在不下载整个页面的情况下检查它),我想实现逻辑来下载 http 页面的部分(前几兆字节),否则跳过。这可以使用 Apache http 客户端,但它是同步的。是否存在允许我在不下载 scala 中的整个页面的情况下进行此过滤的异步 http 客户端?使用 spray-client 或类似的东西可能是真的吗?

0 投票
1 回答
445 浏览

spray - 使用带有“分块响应”的喷雾

我正在使用 Spray 查询 REST 端点,该端点将返回大量数据,其中包含应处理的多个项目。数据是一系列 json 对象。有没有办法将响应转换为这些对象的流,而不需要我将整个响应读入内存?

阅读文档时提到了“分块响应”,这似乎与我想要的一致。如何在喷雾客户端管道中使用它?

0 投票
1 回答
810 浏览

akka - 喷洒http客户端和数千个请求

我想以控制发送到服务器的最大请求数的方式配置喷雾 http 客户端。我需要这个,因为如果发送了超过 2 个请求,我发送请求的服务器会阻止我。我明白了

我需要发送数千个请求,但在收到大约 100 个请求的响应后我被阻止了。

我有这个方法:

在这里我捕获响应并在失败时重试(递归):

如何正确执行此操作?可能我需要以某种方式配置akka调度程序吗?

0 投票
1 回答
795 浏览

scala - 用喷雾编组“地图”

我一直在尝试编组一堆地图,但我得到了错误。以下是定义:

这是错误:

注意:这里有一个类似的帖子,但这里的答案没有帮助。如您所见,我已经在其答案中建议了导入并拥有所有变量immutable

0 投票
1 回答
1424 浏览

scala - 为什么 akka-http Unmarshaler 返回 Future[T] 而不是 T?

由于文档还没有准备好,我会在这里询问 akka 维护人员。

为什么 akka-httpUnmarshaler返回Future[T]而不是T?这是我的目标。我想从 XML http 响应中解组类,类似于它对 json 的处理方式。例如我想写

案例类及其解组器看起来像这样

它不会ScalaXmlSupport与 1.0-RC4 一起编译,因为Unmarshaller[ResponseEntity,Person]在范围内不可用。所以为了欺骗它,我写了两个隐式转换

它有效,但我不喜欢丑陋.value.get.get的。有没有更优雅的方法来实现这个?

0 投票
1 回答
630 浏览

scala - 如何使用 spray-client 设置非标准的 User-Agent?

我正在使用 Scala 和 Akka 为电信公司构建应用程序,并且需要使用UCIP 协议与 Account Information 和 Refill 服务器进行通信。

UCIP 是一个简单的协议,建立在 XMLRPC 之上;我遇到的唯一问题是它要求客户端以User-Agent特定格式设置标头User-Agent: <client name>/<protocol version>/<client version>,这将喷雾解析为无效。

我尝试创建一个自定义User-Agent标头,继承自,spray.http.HttpHeader但它仍然不起作用。这是我到目前为止所得到的:

我的请求不断返回“抱歉,发生错误:403,无效的协议版本未定义”,但是,当我使用curl.

我错过了什么,这甚至可以通过喷雾客户端实现吗?我花了相当多的时间检查互联网(这使我转向了自定义标头路由),但仍然没有弄清楚这一点......非常感谢任何帮助:-)

0 投票
0 回答
231 浏览

scala - 喷涂客户端中的 ClassCastException

出现以下错误 -

以下是我正在尝试的代码:

为什么会出现此错误,我尝试搜索但找不到任何相关内容。

以下是我正在使用的版本

0 投票
1 回答
455 浏览

scala - 喷雾解组泛型

我正在使用 spray-client 在 e2e 测试中向我的服务器生成 http 请求。我还使用 specs2 来测试来自服务器的所需响应。一切正常。我已经构建了一些自定义 specs2 匹配器来简化我的测试代码。我的测试如下所示:

我有一个特点,可以在一定程度上简化测试本身中喷雾的使用:

我还有一个特点,我定义了我在测试中使用的自定义匹配器:

当我尝试使匹配器更通用并支持任何 Scala 类型时,我的问题就开始了。我定义了这样的东西:

但随后我收到以下错误消息:

我缺少什么简单的东西吗?

谢谢!