问题标签 [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.

0 投票
1 回答
581 浏览

rust - 在 actix-web 中处理异步处理程序中的错误的最惯用的方法是什么?

我在 actix_web 中有一个异步处理程序,如果未设置多个标头,则该处理程序必须失败。我不明白在返回的函数中处理错误的最佳方法Future应该是什么。我基本上想要一个相当于?期货的运营商。

这是我当前的代码:

?我通过匹配一个提前回报来解决期货缺乏操作员的问题。但是,在我的代码中,我实际上需要确保存在一堆其他标头。

理想情况下,我想将匹配和早期返回逻辑提取到可重用的东西,但在这种情况下,这迫使我创建一个宏。这似乎有点矫枉过正,特别是如果语言中已经有一些东西可以让我做我想做的事。

处理这种情况最惯用的方法是什么?

0 投票
2 回答
1419 浏览

rust - 如何修改 actix-web 1.0 中间件中的响应正文?

我想修改 Actix-Web 中的响应正文。我已经实现了 v1.0.0 中间件,但到目前为止我还没有成功更改响应正文。

我尝试了两种基本方法:返回一个新的ServiceResponse并使用方法链ServiceResponse尝试设置一个新的主体。这两种方法都导致了我无法解决的各种编译器错误和移动违规。虽然我是 Rust 新手,但我团队的其他成员更有经验,也无法应对这些挑战。我找不到任何正确的例子。

这是我的call().

我想将响应正文修改为文本“fredbob”。如果我能做到这一点,我就可以完成我想做的其余事情。

完整代码

0 投票
2 回答
2611 浏览

rust - actix-web 处理程序中的 HTTP 请求 -> 一次执行多个执行程序:EnterError

actix-web解析器中创建超级发布请求时,会引发以下错误 - 如何通过将请求生成到现有执行器中来发送 http 请求?

main.rs

货物.toml

curl命令触发错误:

回购示例:https ://github.com/fabifrank/rust-tokio-event-loop-madness

0 投票
1 回答
822 浏览

rust - Rust actix-web 线程不安全移动

我正在尝试使用 actix-web 1.0 编写一个 HTTP 端点。我已经减少了函数,使它只返回传递给它的用户,但编译器仍然给出错误。

这是我的 cargo.toml。

我收到编译错误

我认为这与login_userin 中的使用有关web::block,但很难从错误中分辨出来。在 Rust 或 actix 中安全地异步使用请求参数的首选方法是什么?

0 投票
1 回答
880 浏览

rust - 为什么从 Actix Web 处理程序中的 Rusoto S3 流读取会导致死锁?

我正在使用actix_weband编写应用程序rusoto_s3

当我直接从 actix 请求之外运行命令时main,它运行良好,并且get_object按预期工作。当它被封装在一个 actix_web 请求中时,该流被永远阻塞。

我有一个为所有请求共享的客户端,它封装在一个Arc(这发生在 actix 数据内部)中。

完整代码:

stream.read_to_end线程中被阻止并且永远不会解决。

我已经尝试根据请求克隆客户端并为每个请求创建一个新客户端,但在所有场景中我都得到了相同的结果。

难道我做错了什么?

如果我不异步使用它,它会工作......

这是东京的问题吗?

0 投票
1 回答
942 浏览

php - 使用 Redis 作为会话存储时,如何在 actix-session 和 PHP 应用程序之间共享会话?

我想将使用 Redis 作为会话存储的 PHP 网站切换到 actix-web。我遇到的唯一问题是在我的子域之间共享会话。我有很多服务,只有其中一些会切换到 Rust。

一个板条箱已经存在会话

我的目标是能够从我的 PHP 脚本中读取 Rust 会话。

这是我尝试过的:

最后,我更改了默认 cookie:

我不知道 Rust 中使用的会话格式以及如何与 PHP 共享它。

0 投票
0 回答
331 浏览

rust - 处理具有绑定生命周期的异步/未来响应?

使用这个最小的异步 actix-web 服务器

编译失败

f在 actix-web 中的定义是

我是否正确理解编译失败是因为

  • 的定义f要求处理程序F返回具有'static生命周期的响应
  • 当给定处理程序返回的响应handle_request具有绑定到HttpRequest参数的生命周期时?

我有什么办法可以在改变定义的情况下解决这个问题AsyncCResponse

0 投票
2 回答
1036 浏览

rust - 使用 actix-web 从 HTML 页面捕获 GET 和 POST 请求

为了在 FORM 中捕获请求的详细信息(我使用的是 actix-web),我在提交 HTML 表单时收到一条错误消息。

当我提交表格时,我收到此错误:

Content type error

使用的代码:

使用的 HTML 表单:

预期结果将是:

要显示的值的示例

0 投票
2 回答
976 浏览

rust - 如何使用actix在函数内部使用数据库池?

我为 MySQL 数据库创建了一个池,如下所示:

像这样包含在actix中:

问题来了,如何在这个 info 函数中使用它:

直接将 MySQL 连接的一个实例传递给 get_infos 运行良好,但使用池我不知道如何处理它?!请问有什么帮助吗?

为了更清楚地说明,我的目标是使用 POOLING 而不是只使用一个实例,就像这段代码中的情况一样:

我在前面的代码中启动了 POOL to actix: .data(pool.clone()) // <-- HERE

但是如何将它作为参数传递给get_infos函数。

再次感谢您的帮助。

0 投票
0 回答
637 浏览

rust - 如何处理来自 actix-multipart 数据的文件而不将其保存到磁盘

actix-web处理文件的建议方法multipart/form-data是将它们保存到 fs,但我想做一些准备,例如猜测格式、制作缩略图、计算哈希等。

有没有办法不重写handle_multipartfrom调用的所有函数链actix-multipart以进行一些小的更改?