问题标签 [rust-warp]

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 回答
136 浏览

rust - 在 seanmonstar/warp 中禁用 http2

我使用 crate 构建了一个小型 Web 应用程序warp。由于它在反向代理后面运行,是否可以在不支持 http2 的情况下构建 warp crate,从而减少编译时间和二进制大小?

0 投票
1 回答
484 浏览

asynchronous - 如何在 Warp 中生成一个线程来处理异步行为?

我正在将 Warp 板条箱用于 Web 服务,但在从我的非异步主服务器运行它时遇到问题。

我尝试了几种方法,我得到的最接近的是:

货运.toml

代码:

这似乎有效,但我得到:

谷歌搜索我发现它可能是 Tokio 版本不匹配,但我的依赖项中什至没有 Tokio,我是从 Warp 获得的。

退一步,有没有更简单的方法来得到我想要的?我只想启动一些运行的异步代码(可能在它自己的线程上),同时让 main 保持活力和快乐。

0 投票
1 回答
274 浏览

rust - Rust - 突然在 WebSocket 上找不到拆分方法?

我是一个生锈的新手,在运行一些简单的 ws 示例时遇到了很多麻烦。

我在 Cargo.toml 文件中有一个新项目:

然后我在这里找到了 warp ws 示例:https ://github.com/seanmonstar/warp/blob/master/examples/websockets.rs

我发誓这是在编译,但出乎意料的是我得到了这些错误:

我重新创建了项目,清理了项目,做了所有可以想象的事情。将 rust 编译器版本切换为 nightly 并返回。我真的很困惑为什么我现在不能拆分这个。我试过不同的例子,不同的箱子,我一直看到这个错误。我很想扔掉我的笔记本电脑并在另一台计算机上尝试:P

0 投票
1 回答
277 浏览

asynchronous - 如何将 warp 与异步库集成?

Warp 有这样的范式,

这些过滤器.map()允许您使用提取的值(来自先前过滤器的输出)调用闭包。

如果在上面的示例中我想做这样的事情,我该如何在这个范式中操作,

当我在过滤器的闭包中使用异步函数时,出现.map此错误,

错误[E0708]:当前不支持带参数的async非闭包move

无论如何要warp与已经异步的库兼容?

0 投票
1 回答
170 浏览

types - Warp 要求荒谬的长而复杂的显式类型注释,还有其他方法吗?

我收到以下错误,

这是我写的。我很困惑这应该是什么样子,

这应该怎么看,我真的应该使用像这样的显式类型,

warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<impl warp::Filter+std::marker::Copy, impl warp: :Filter+std::marker::Copy>, impl warp::Filter+std::marker::Copy>

为了清楚我在这里想要什么,是一个创建用户端点。

  • 我希望从 JSON 反序列化用户对象
  • 如果反序列化后的用户对象具有 id,我希望能够拒绝请求(HTTP 错误)。我不希望用户能够选择 ID。
  • &user.insert()将在数据库中插入用户对象,并返回一个带有 ID 的新用户对象。
  • 我希望将错误或用户对象返回给用户。

如何理解 Warp 请求的荒谬复杂的类型注释?这真的是必需的,还是我犯了错误?

0 投票
1 回答
256 浏览

rust - 扭曲错误:错误[E0277]:特征绑定`impl warp::Future: warp::filter::FilterBase`不满足

Warp 正在返回错误,

我基本上有这个,

我究竟做错了什么?

0 投票
1 回答
393 浏览

rust - 如何使用 Warp 提供 CSS 和 JS 文件?

我希望 Warp 为当前工作目录提供服务。这是整个main.rs

具有以下依赖项:

www然后我在具有以下结构的目录上运行它:

提供 HTML 页面,但不提供其引用的 CSS 文件。HTML 页面使用它们各自的 CSS 文件<link rel="stylesheet" href="style.css">

我使用 node.js express 进行此工作,但使用 Warp 它尝试加载www/style.css,而不是www/foo/style.cssand www/bar/style.css

如果我将 href 更改为"foo/style.css"and ,它会起作用"bar/style.css",但如果可能的话,我想避免这种情况。我可以在 Warp 端改变什么来解决这个问题吗?

编辑:我了解到,如果 URL 包含尾部斜杠,则页面会正确呈现 CSS。

所以这不起作用:

但这确实:

0 投票
1 回答
278 浏览

rust - 扭曲和响应类型和特征对象?

我有一个 Warp 拒绝处理程序,我正在这样使用它,

是这样声明的,

if如果语句的两边是相同的类型,

一切正常,但如果将其中一侧更改为,

不行了,编译时出现这个错误,

不过我不明白,因为那面没有改变,这应该仍然满足impl warp::reply::Reply,这里有什么问题?

as warp::reply::Reply我已经尝试过像和 as一样明确地转换为特征对象的不同排列,&dyn warp::reply::Reply但它们也不起作用。

0 投票
0 回答
45 浏览

rust - CLI 触发网页 Rust 架构考虑

我目前正在学习 Rust,并且正在构建一个基于 CLI 的工具,它可以打开一个基于 Web 的编辑器来编辑磁盘上的文件。流程如下

  • 用户将包作为命令运行,这会触发一个监听 POST/GET 请求的 warp 网络服务器(带有 UI)。
  • 这些 POST/GET 请求将与所有 CRUD 操作的文件系统交互。

我的问题是:

  1. 将网页打包为 Cargo 构建“良好做法”吗?
  2. 有没有更好的方法来处理这些文件系统操作/本地网络请求应该如何处理文件系统操作?
0 投票
0 回答
92 浏览

rust - 如何在 Juniper Warp 中的上下文上设置异步数据库连接

我正在使用 Warp 设置 Juniper GraphQL 服务器,我需要在 Context 上初始化 mongodb 数据库连接。我对 Rust 很陌生,所以不确定正确的方法。我目前正在尝试await设置上下文,然后move使用闭包进入状态,但出现错误:

我正在使用的代码是:

我像这样设置mongodb连接:

我似乎无法await进入闭包内部,并且在闭包外部定义上下文给了我这个错误。实现这一点的正确方法是什么?

编辑:删除了关于 E0525 的评论