问题标签 [akka-http]

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 投票
0 回答
205 浏览

akka - akka-http 文件上传不上传整个文件?

我有以下服务器

我有以下财产application.conf

但是当我尝试上传一个300MBzip 文件时,它只在159MB

我错过了什么?

0 投票
3 回答
1723 浏览

scala - 使用 akka-http 从 src/main/resources 返回一个文件

我在项目的资源文件夹 src/main/resources 中有一个文件 abc.txt。我有以下代码片段,它应该提供文件。

我什至尝试了以下

在这两种情况下,我都会收到一条错误消息

routing.Route 类型的表达式不符合预期的类型 toResponseMarshallable

我唯一的要求是,当我收到此请求时,我应该能够提供文件。我用谷歌搜索了我找不到的解决方案。注意:我是 Scala/Akka 初学者

0 投票
1 回答
763 浏览

scala - 定义路由指令时是否可以使用隐式参数?

我有一个指令,定义如下

但我似乎无法在无需显式传入login参数的情况下使用它

如果我尝试编译它,它会因类型不匹配而失败:

如果我将标记线更改为allowedRoles(Administrator)(login)然后它可以工作,但似乎我不需要这样做,我错过了什么?

0 投票
2 回答
428 浏览

scala - Akka Http 根据 Accept 标头返回不同类型的响应

我是 scala 和 Akka-Http 的新手。试验 Akka-Http 来编写休息服务。我必须根据Accept标头返回 json 或 protobuf。

如您所见,代码重复正在发生,任何人都可以建议优化和概括设计以避免这种情况的最佳方法。

0 投票
1 回答
1989 浏览

scala - Akka Streams 与 Akka HTTP 服务器和客户端

我正在尝试在我的 Akka Http Server 上创建一个端点,它使用外部服务告诉用户它的 IP 地址(我知道这可以更容易地执行,但我这样做是一个挑战)。

最上层不使用流的代码是这样的:

它工作正常。然而,作为一个挑战,我想限制自己只使用流(没有Future's)。

这是我认为我会用于这种方法的布局: Source[Request] -> Flow[Request, Request] -> Flow[Request, Response] ->Flow[Response, Response]为了适应 404 路线,也可以使用Source[Request] -> Flow[Request, Response]. 现在,如果我的 Akka Stream 知识对我有用,我需要使用 aFlow.fromGraph来做这样的事情,但是,这就是我卡住的地方。

在 aFuture中,我可以为各种端点做一个简单的 map 和 flatMap,但是在流中这意味着将 Flow 分成多个 Flow,我不太确定我会怎么做。我考虑过使用 UnzipWith 和 Options 或通用广播。

对此主题的任何帮助将不胜感激。


如果这有必要,我不知道?-- http://doc.akka.io/docs/akka-stream-and-http-experimental/2.0-M2/scala/stream-customize.html

0 投票
3 回答
2033 浏览

json - Akka HTTP 流式 JSON 反序列化

是否可以将来自 Akka HTTP的未知长度的外部流动态反序列化到域对象中?ByteString


语境

我称一个无限长的HTTP端点输出一个JSON Array不断增长的 a:

0 投票
1 回答
6575 浏览

java - 如何为多个(10k - 100k)请求正确调用 Akka HTTP 客户端?

我正在尝试使用 Akka HTTP 2.0-M2 编写一个用于批量数据上传的工具。但我面临akka.stream.OverflowStrategy$Fail$BufferOverflowException: Exceeded configured max-open-requests value of [32] error.

我试图找出一个问题,这里的示例代码也失败了:

它失败了:

我想那是因为我试图创建很多 Futures 并同时执行它们。但是 Akka 不应该启用背压吗?我想我用错了。我尝试了 superPool 方法,但没有任何改变,因为据我所知,Http.singleRequest里面有相同的池。我也尝试重用 Http 实例而不是Http.get()在循环中调用,但它也没有帮助。

触发一批请求的正确方法是什么?我计划批量执行 10 000 - 100 000 个请求。

0 投票
3 回答
2813 浏览

scala - 从服务器关闭 akka-http websocket 连接

在我的场景中,客户端发送“再见”websocket 消息,我需要关闭以前在服务器端建立的连接。

来自 akka-http文档

通过取消来自服务器逻辑的传入连接流(例如,通过将其下游连接到 Sink.cancelled 并将其上游连接到 Source.empty),可以关闭连接。也可以通过取消 IncomingConnection 源连接来关闭服务器的套接字。

但考虑到这一点SinkSource在协商新连接时设置一次,我不清楚如何做到这一点:

0 投票
1 回答
488 浏览

scala - Akka-http 合并传入连接

我正在尝试使用 akka-streams 和 akka-http 来解决以下问题:

  • 我们有 2 个 http 客户端(A 和 B)向 1 个 http 服务器(C)发送请求。双方使用akka-http进行通信。
  • 来自 A 的请求与 B 相比具有更高的优先级,但两个请求应该是平等的进程。所以 C 应该首先处理来自 A 的请求,来自 B 的请求是第二优先级的
  • 当然,我们希望在每一端都启用背压

我想出了以下代码,以便将传入连接合并到一个输出:

所以,我有一个来自 A 和 B 的 IncomingConnection inctances 的源。

现在我想以某种方式处理它们,产生响应并将响应发送到相应的连接。

也许有更好的方法来存档所有这些东西,但我在文档或其他人的问题中找不到任何解决此类问题的示例。

另外我猜这个问题很常见。

在此先感谢您的帮助。

0 投票
1 回答
908 浏览

scala - Akka-http 在一个流程中处理来自不同连接的 HttpRequest

Akka-http文档说:

除了将服务器端绑定的套接字视为 Source[IncomingConnection] 并将每个连接视为带有 Sink[HttpResponse] 的 Source[HttpRequest]

假设我们得到包含来自许多 Source[IncomingConnection] 的传入连接的合并源。

然后,假设我们从 Source[IncomingConnection] 获得 Source[HttpRequest](见下面的代码)。

然后,没问题,我们可以提供一个将 HttpRequest 转换为 HttpResponse 的流程。

这就是问题所在 - 我们如何正确接收响应?我们如何加入对连接的响应?

用例背后的整个想法是可以优先处理来自不同连接的传入请求。我猜在很多情况下应该很有用......

提前致谢!

编辑: 基于@RamonJRomeroyVigil 答案的解决方案:

服务器代码:

所以,我从控制台使用 curl 并看到以下内容:

第二个 curl 请求失败:

在服务器控制台上,我在发送第一个请求时看到以下内容:

发送第二个请求时什么也没有。

因此,内部连接流(如@RamonJRomeroyVigil 所述)或其他问题似乎存在一些问题......

基本上代码不起作用。

仍在调查问题。