问题标签 [actix-web]
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 - create_app 的正确返回类型
我正在使用 actix-web 创建一个嵌入了状态/数据的 httpserver。但是 vscode 告诉我 create_app 函数在其返回值类型定义“App< AppState >”中有错误的参数:
发布结构应用
类型参数数量错误:预期 2,找到 1
预期 2 类型参数rustc(E0107)
应用程序.rs:
main.rs:
由于“服务”方法的返回类型是“Self”,即 actix_web::App 类型,我尝试将返回类型修改为 App(不带泛型参数)但仍然出现错误,我该怎么办?
rust - 尝试从 actix-web 路由处理程序函数中发出请求时出现错误“BlockingClientInFutureContext”
我正在使用 Rust 2018 Stable 和 Actix-Web 编写 Web 服务。使用 Reqwest,我正在从一个路由处理程序函数中向不同站点发出 HTTP 请求。简单地说它看起来像这样
这不起作用,我收到以下错误消息(错误打印了 8 次,“worker:1”到“worker:8”,尽管只调用了一次函数):
谷歌在"BlockingClientInFutureContext"上没有发现任何有用的东西,但我猜它与 async/await 或 Tokio 自己的未来有某种关系?
感谢您提供有关阅读内容的任何指示。另外,我是 Rust 的新手。
从 Actix-Web HTttpServer 调用处理函数:
rust - 如何使用 rusoto_s3 将 actix 多部分字段保存到 s3?
我对 rust 完全陌生,但正在学习。我正在尝试使用 actix_web 和 actix_multipart 进行分段上传,并使用 rusoto_s3 将其上传到 aws s3。从我的基本理解来看,基本上我有一个类型的流,我需要将其转换为ByteStream
所需的类型put_object PutObjectRequest { body }
。
我想我需要在现场使用地图将其从一种类型转换为另一种类型,但我有点迷茫。
例如,沿着这些思路?
谢谢您的帮助!
error-handling - 在 actix-web 1.0 中间件中获取失败::失败
我正在使用 actix-web 1.0
我正在编写一个必须捕获错误及其堆栈跟踪的中间件。问题是我只能访问ServiceRequest
s,其中包含一个actix_web::Error
.
从此我必须获得 a failure::Fail
,但我找不到任何方法。以前我可以Error::as_fail()
,但是 1.0 版不再提供此功能
如何获得Fail
在我的中间件中实现的错误?
rust - 将 actix-web 作为 Windows 服务运行时出现问题
我正在尝试使用windows-service来运行 actix Web 应用程序。它提供了一个很好的 API 并且大部分都可以工作。我可以开始我的服务就好了。但是,当我尝试停止我的服务时,我收到以下错误:(Error 109: The pipe has been ended
它确实停止了服务)。
我主要只是使用为 提供的示例windows-service
,但这里是相关代码(对于上下文和所有包装函数,请查看https://github.com/mullvad/windows-service-rs/blob/master/examples/ ping_service.rs):
如果我把System::stop
a thread::spawn
,我得到一个不同的错误:The service did not return an error. This could be an internal Windows error or an internal service error
. 在这种情况下,它不会停止服务。
我已经进行了一些日志记录,看起来代码从未超过sys.run().unwrap()
,这很奇怪。
有什么想法吗?我以前从未使用过 Windows 服务 API,所以我真的不知道自己在做什么。
编辑
我弄清楚主要问题是什么:我必须在停止服务之前通知 Windows 服务已停止。我整理了一个笨拙的方法来使它工作:
I 在事件处理程序中设置为 true 的shutdown_signal
位置在哪里。AtomicBool
我要看看我是否可以通过actix_rt
.
rust - 使用 actix-web 调用 async reqwest
在我的actix-web
-server 中,我试图使用reqwest
调用外部服务器,然后将响应返回给用户。
这有两个问题:
println!("{:?}", json);
似乎从未运行,或者至少我从未看到任何输出。- 我
_resp
回来了,这是 aFuture
,但我不明白如何等待它解决,以便将字符串传递回Responder
以供参考:
rust - 如何在 actix-web 中执行异步功能?
有async
connect()
如下功能。
首先,我尝试connect()
按futures::executor::ThreadPool::run
. 它会恐慌,因为actix_web::client::Client
必须在 actix 框架上下文中使用。
如何在 actix 上下文中执行 connect()?
我也尝试了下面的代码。它不编译。
它以编译错误结束。
我还在学习 Rust。请问有人可以帮忙吗?赞赏。
Rust 版本:每晚 1.39
rust - Error handling and conditional chaining of Actix actors
This is my first attempt at writing a small webservice with rust, using actix-web.
The code below is a request handler that is intended to do three things, insert an entry in the database, send an email if that db call was successful, and then return a json payload as the response.
data.dal
(database call) and data.email_service
are references to Actors.
The issue: is I am unable to capture the error returned by data.dal
. Any attempt to reconfigure the below code seems to give me an error stating the compiler wasn't able to find a conversion from Actix Mailbox to [Type].
Is there an alternate/better way to rewrite this? Basically when the request is issued, I'd like to be able to call Actor A. And if the result from A is Ok then call Actor B. If the results from both are okay return a JSON payload. If either A or B return an error (can have different error types), return an custom error message.
mongodb - 如何将 actix_web Json 存储到 mongodb?
尝试使用 r2d2-mongodb 和 actix_web 将传入数据存储到 mongo 中。
我似乎无法理解我需要什么/如何将重量转换为与insert_one
. 上面的代码错误成error[E0277]: the trait bound 'bson::ordered::OrderedDocument: std::convert::From<&api::weight::Weight>' is not satisfied
rust - 如何将异步/标准库 future 转换为 futures 0.1?
我想使用该async
函数逐步解析入站流,但 actix-web 需要impl Future<Item = HttpResponse, Error = Error>
作为返回值。
如何将async
函数返回的未来转换为 actix-web 所需的?
我每晚使用 Rust 1.39 和 actix-web 1.0.7。
http_srv.rs:
货物.toml:
编译错误: