问题标签 [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.
akka - akka-http 文件上传不上传整个文件?
我有以下服务器
我有以下财产application.conf
但是当我尝试上传一个300MB
zip 文件时,它只在159MB
我错过了什么?
scala - 使用 akka-http 从 src/main/resources 返回一个文件
我在项目的资源文件夹 src/main/resources 中有一个文件 abc.txt。我有以下代码片段,它应该提供文件。
我什至尝试了以下
在这两种情况下,我都会收到一条错误消息
routing.Route 类型的表达式不符合预期的类型 toResponseMarshallable
我唯一的要求是,当我收到此请求时,我应该能够提供文件。我用谷歌搜索了我找不到的解决方案。注意:我是 Scala/Akka 初学者
scala - 定义路由指令时是否可以使用隐式参数?
我有一个指令,定义如下
但我似乎无法在无需显式传入login
参数的情况下使用它
如果我尝试编译它,它会因类型不匹配而失败:
如果我将标记线更改为allowedRoles(Administrator)(login)
然后它可以工作,但似乎我不需要这样做,我错过了什么?
scala - Akka Http 根据 Accept 标头返回不同类型的响应
我是 scala 和 Akka-Http 的新手。试验 Akka-Http 来编写休息服务。我必须根据Accept
标头返回 json 或 protobuf。
如您所见,代码重复正在发生,任何人都可以建议优化和概括设计以避免这种情况的最佳方法。
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
json - Akka HTTP 流式 JSON 反序列化
是否可以将来自 Akka HTTP的未知长度的外部流动态反序列化到域对象中?ByteString
语境
我称一个无限长的HTTP
端点输出一个JSON Array
不断增长的 a:
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 个请求。
scala - 从服务器关闭 akka-http websocket 连接
在我的场景中,客户端发送“再见”websocket 消息,我需要关闭以前在服务器端建立的连接。
来自 akka-http文档:
通过取消来自服务器逻辑的传入连接流(例如,通过将其下游连接到 Sink.cancelled 并将其上游连接到 Source.empty),可以关闭连接。也可以通过取消 IncomingConnection 源连接来关闭服务器的套接字。
但考虑到这一点Sink
并Source
在协商新连接时设置一次,我不清楚如何做到这一点:
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 的源。
现在我想以某种方式处理它们,产生响应并将响应发送到相应的连接。
也许有更好的方法来存档所有这些东西,但我在文档或其他人的问题中找不到任何解决此类问题的示例。
另外我猜这个问题很常见。
在此先感谢您的帮助。
scala - Akka-http 在一个流程中处理来自不同连接的 HttpRequest
Akka-http文档说:
除了将服务器端绑定的套接字视为 Source[IncomingConnection] 并将每个连接视为带有 Sink[HttpResponse] 的 Source[HttpRequest]
假设我们得到包含来自许多 Source[IncomingConnection] 的传入连接的合并源。
然后,假设我们从 Source[IncomingConnection] 获得 Source[HttpRequest](见下面的代码)。
然后,没问题,我们可以提供一个将 HttpRequest 转换为 HttpResponse 的流程。
这就是问题所在 - 我们如何正确接收响应?我们如何加入对连接的响应?
用例背后的整个想法是可以优先处理来自不同连接的传入请求。我猜在很多情况下应该很有用......
提前致谢!
编辑: 基于@RamonJRomeroyVigil 答案的解决方案:
服务器代码:
所以,我从控制台使用 curl 并看到以下内容:
第二个 curl 请求失败:
在服务器控制台上,我在发送第一个请求时看到以下内容:
发送第二个请求时什么也没有。
因此,内部连接流(如@RamonJRomeroyVigil 所述)或其他问题似乎存在一些问题......
基本上代码不起作用。
仍在调查问题。