问题标签 [rust-actix]
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.
rust - 如何构建具有状态和工厂的 Actix Web TestServer?
在actix-web 文档中,有两个关于如何TestServer
使用工厂函数构建 a 的示例:
或应用程序状态:
我想建立一个TestServer
状态并使用工厂功能,但到目前为止还没有成功。
如何实现?
stream - 我怎样才能在 Rust 中“flatmap”流?
我有一个rusoto_core::ByteStream
实现期货Stream
特征的方法:
我想将它传递给actix_web 的HttpResponseBuilder::streaming
方法。
当我尝试这样做时,我收到以下错误:
我相信原因是streaming()
期望 a S: Stream<Item = Bytes, Error>
(ie, Item = Bytes
) 但我ByteStream
有Item = Vec<u8>
. 我该如何解决?
我认为解决方案以某种方式解决了flatmap
我的问题,ByteStream
但我找不到这样的流方法。
这是一个如何使用的示例streaming()
:
rust-actix - Rust Actix:为 System::current() 获取 SystemRunner
有没有办法SystemRunner
从当前System
(我从中得到System::current()
)获取对象。我无法通过文档找到一种方法,但我觉得它应该存在。
我有一个端点,用户可能会调用一个使用的方法block_on
,这需要一个实例SystemRunner
来运行。我想避免System::new("actix")
再次调用,只使用System
当前正在运行的。
rust - 如何在 Actix-Web 中打印错误消息而不会惊慌?
我试图从 Actix 存储库中的一个示例中了解错误处理。它使用failure
crate 来处理错误。这是一段相关的代码:
如果我的处理程序返回 a ServiceError
,代码不会恐慌,它将呈现一个HttpResponse
(请参阅 参考资料error_response()
)。因此,我将无法在终端中看到Fail
消息(#[fail(display
...)。
println!
除了添加到之外,还有什么好的内置方法可以在我的日志中显示它error_response
?我相信显示确切的错误而不是通用的完全有意义InternalServerError
:即NetworkError/ParseError。
如果不是,那么设计它的原因是什么而无法看到确切的错误?
rust - 在运行多个系统的情况下关闭 actix
我的应用程序基于一个使用 actix 和 actix-web 的库 (Library-A)。我正在添加第二个运行 http 服务器的库 (Library-B),也使用 actix-web。我为此使用了一个单独的线程actix::system
。在 SIGINT 上,只有 Library-B actix 系统关闭,而 Library-A 仍在运行。没有后续的 SIGINT 关闭正在运行的 actix 系统。
优雅关闭两个正在运行的 actix 系统的正确方法是什么?
Library-B 的代码,用于启动一个新的 actix 系统并运行一个 http 服务器:
我为独立图书馆启动新系统是否正确?如何优雅地关闭?
rust - 无法理解 E0277
我无法理解为什么会遇到错误 E0277。我有以下代码:
当我尝试编译时,出现以下错误:
我不明白为什么在这种情况下diesel::Queryable
需要实施。Option<User>
如果我将消息的结果类型切换为,Result<User, Error>
那么问题就会消失