问题标签 [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.
scala - Spray JSON - 仅解析部分 JSON 响应
我从示例对象包含的服务器收到以下 Json 响应
我只需要这个结果的一部分。
需要以下属性:
所以我创建了以下案例类及其隐式解析器:
但我收到以下错误:
你能帮忙吗?
scala - 使用喷雾客户端进行多个请求时的akka超时
将 spray 1.3.2 与 akka 2.3.6 一起使用。(akka 仅用于喷雾)。
我需要读取大文件并为每一行发出一个 http 请求。
我用迭代器逐行读取文件,并为每个项目提出请求。它在某些行上成功运行,但在某些时候它开始失败:
akka.pattern.AskTimeoutException: Ask timed out on [Actor[akka://default/user/IO-HTTP#-35162984]] after [60000 ms]
。
我首先认为我超载了服务,所以我将“spray.can.host-connector.max-connections”设置为 1。它运行得慢得多,但我得到了同样的错误。
这里的代码:
我这样做是因为我不需要整个数据,只需要一些聚合。
我该如何解决这个问题并让它完全异步?
scala - 从带有案例类消息的 akka Actor 发送 POST 消息失败
我想使用喷雾客户端从一个演员发出一个网络请求,这个网络请求需要一个参数,该参数必须是接收消息的一部分。为了做到这一点,我创建了一个案例类,如:
演员看起来像这样:
我的问题是,只要消息是字符串,例如:
服务调用被执行。但是,如果我使用案例类以便能够对消息进行参数化,则 Web 调用会超时,但是(我用 wireshark 检查过)甚至没有建立到服务器的连接。
调用消息的代码:
当消息是案例类时,我是否处于不同的上下文中?
感谢您的任何帮助
问候阿基拉
scala - 如果 max-redirects > 1,位置标头会丢失
我有以下设置:
和以下配置:spray.can.host-connector.max-redirects = 2
. 我知道这个 URL 会重定向,但是当我检查响应标头时,我没有看到 Location 标头告诉我它重定向到的位置。
如果我将配置更改为spray.can.host-connector.max-redirects = 1
Location 标头就在那里并且正确。但是,如果将来有人决定在同一个应用程序中需要更多的 erdirect,我希望它不会中断。我会错过任何有关喷雾配置的信息吗?
scala - 使用 spray.client 从 http POST 解组错误 onFailure
对于这个问题,我对 spray.io 和 scala 非常陌生,所以如果我没有在这里得到关于解组的术语,我提前道歉。
我正在尝试使用管道获取 HTTP POST 响应,它预计会失败,因为我需要一个授权标头,但现在让我们忽略它。
如果我使用 chrome 扩展 Postman 发布到 url,我会得到这个响应,简单明了的 json:
因此,我开始为此响应创建自己的案例类,并实现了自己的 JsonProtocol,以解组响应。
所以现在我已经准备好运行我的管道并收到响应了。
请求完成并且 onFailure 案例运行,但 error.getMessage 不再是 json,就像前面的 Postman 示例一样。
所以我的问题变成了,如何将返回的错误及其正文解组到我的 CreateFromTemplateResult 案例中?或者简单地进入 json 也可以。我不知道我的 onSuccess 案例是否也能奏效,我希望他们都有相同的行为。我希望它们采用我定义的 CreateFromTemplateResult 格式。
非常感谢您抽出宝贵时间,再次为我的错误术语道歉。
scala - 喷雾测试 gzip 解码
我尝试为喷雾编写测试
我有跟随路由器
我使用 GZIP 压缩进行响应,但是
无法解组对
responseAs
断言的类型“java.lang.String”的响应:MalformedContent(unknown token Near: ,Some(org.json4s.ParserUtil$ParseException: unknown token Near: ))
如何将自动解码 GZIP HttpResponse 设置为字符串?
scala - 喷涂请求 - 仅在嵌套期货之后完成请求
喷雾和 scala 的新手。这几天一直在努力让它正确。
我正在尝试将 facebook oauth2 登录 + 用户登录详细信息合并到数据库中,以防同一用户通过不同方式(用户/密码或 fb 登录)登录。
粘贴在喷雾路由片段下方。
一切正常,除非是第一次使用 fb 登录的用户(请参阅 request(2))。
在嵌套未来完成之前,请求以空响应完成。
我尝试对来自 userFuture 的结果进行 flatMapping,然后在其上使用 onComplete 以给出适当的响应,但它不起作用。
知道如何使用令牌成功完成请求(请求(2))吗?
akka - 在演员中使用喷雾客户端(sendReceive)
用例是这样的:
- 一个 Actor 绑定到喷 IO - 接收和处理所有通过指定端口的入站 HTTP 请求。
- 对于每个入站请求,参与者需要将出站异步 http 请求发送到不同的外部端点,取回入站响应并将响应发送回发起方。
使用 spray 的客户端 sendReceive 返回一个未来。这意味着参与者将继续处理其邮箱中的下一条入站消息,而无需等待它刚刚发送的出站请求的响应,同时出站请求的响应可能会到达并在 Future 回调中执行,因为它是没有在actor的邮箱中排队,它可能会被并行执行,打破了actor在给定时间内仅由一个线程执行的想法。
我想知道如何在不破坏actor线程封装的情况下处理这个用例,actor如何以actor安全的方式使用spray-client(用于发送/接收异步http事件)?
ssl - 如何使用 Spray https 客户端定义 SSLContext?
我想将 http 请求发布到具有给定 ca 证书的安全服务器。
我使用的是 Spray 1.3.1,代码如下所示:
问题是未采用定义的隐式 SSLContext 并且我在运行时得到:“无法找到请求目标的有效证书路径”。
如何定义 SSLContext 以与喷雾客户端一起使用?
xml - 如何在Spray中解组案例类列表
第一次喷雾用户未能在任何地方找到任何合适的例子。我正在寻找解组包含List[Person]
.
说case class Person(name: String, age: Int)
。解组器应生成适当的List[Person]
.
Spray有一个默认值NodeSeqUnmarshaller
,但我无法弄清楚如何正确链接事物,将不胜感激任何指针。