问题标签 [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.
rust - 在 seanmonstar/warp 中禁用 http2
我使用 crate 构建了一个小型 Web 应用程序warp
。由于它在反向代理后面运行,是否可以在不支持 http2 的情况下构建 warp crate,从而减少编译时间和二进制大小?
asynchronous - 如何在 Warp 中生成一个线程来处理异步行为?
我正在将 Warp 板条箱用于 Web 服务,但在从我的非异步主服务器运行它时遇到问题。
我尝试了几种方法,我得到的最接近的是:
货运.toml
代码:
这似乎有效,但我得到:
谷歌搜索我发现它可能是 Tokio 版本不匹配,但我的依赖项中什至没有 Tokio,我是从 Warp 获得的。
退一步,有没有更简单的方法来得到我想要的?我只想启动一些运行的异步代码(可能在它自己的线程上),同时让 main 保持活力和快乐。
rust - Rust - 突然在 WebSocket 上找不到拆分方法?
我是一个生锈的新手,在运行一些简单的 ws 示例时遇到了很多麻烦。
我在 Cargo.toml 文件中有一个新项目:
然后我在这里找到了 warp ws 示例:https ://github.com/seanmonstar/warp/blob/master/examples/websockets.rs
我发誓这是在编译,但出乎意料的是我得到了这些错误:
我重新创建了项目,清理了项目,做了所有可以想象的事情。将 rust 编译器版本切换为 nightly 并返回。我真的很困惑为什么我现在不能拆分这个。我试过不同的例子,不同的箱子,我一直看到这个错误。我很想扔掉我的笔记本电脑并在另一台计算机上尝试:P
asynchronous - 如何将 warp 与异步库集成?
Warp 有这样的范式,
这些过滤器.map()
允许您使用提取的值(来自先前过滤器的输出)调用闭包。
如果在上面的示例中我想做这样的事情,我该如何在这个范式中操作,
当我在过滤器的闭包中使用异步函数时,出现.map
此错误,
错误[E0708]:当前不支持带参数的
async
非闭包move
无论如何要warp
与已经异步的库兼容?
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 请求的荒谬复杂的类型注释?这真的是必需的,还是我犯了错误?
rust - 扭曲错误:错误[E0277]:特征绑定`impl warp::Future: warp::filter::FilterBase`不满足
Warp 正在返回错误,
我基本上有这个,
我究竟做错了什么?
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.css
and www/bar/style.css
。
如果我将 href 更改为"foo/style.css"
and ,它会起作用"bar/style.css"
,但如果可能的话,我想避免这种情况。我可以在 Warp 端改变什么来解决这个问题吗?
编辑:我了解到,如果 URL 包含尾部斜杠,则页面会正确呈现 CSS。
所以这不起作用:
但这确实:
rust - 扭曲和响应类型和特征对象?
我有一个 Warp 拒绝处理程序,我正在这样使用它,
是这样声明的,
if
如果语句的两边是相同的类型,
一切正常,但如果将其中一侧更改为,
不行了,编译时出现这个错误,
不过我不明白,因为那面没有改变,这应该仍然满足impl warp::reply::Reply
,这里有什么问题?
as warp::reply::Reply
我已经尝试过像和 as一样明确地转换为特征对象的不同排列,&dyn warp::reply::Reply
但它们也不起作用。
rust - CLI 触发网页 Rust 架构考虑
我目前正在学习 Rust,并且正在构建一个基于 CLI 的工具,它可以打开一个基于 Web 的编辑器来编辑磁盘上的文件。流程如下
- 用户将包作为命令运行,这会触发一个监听 POST/GET 请求的 warp 网络服务器(带有 UI)。
- 这些 POST/GET 请求将与所有 CRUD 操作的文件系统交互。
我的问题是:
- 将网页打包为 Cargo 构建“良好做法”吗?
- 有没有更好的方法来处理这些文件系统操作/本地网络请求应该如何处理文件系统操作?
rust - 如何在 Juniper Warp 中的上下文上设置异步数据库连接
我正在使用 Warp 设置 Juniper GraphQL 服务器,我需要在 Context 上初始化 mongodb 数据库连接。我对 Rust 很陌生,所以不确定正确的方法。我目前正在尝试await
设置上下文,然后move
使用闭包进入状态,但出现错误:
我正在使用的代码是:
我像这样设置mongodb连接:
我似乎无法await
进入闭包内部,并且在闭包外部定义上下文给了我这个错误。实现这一点的正确方法是什么?
编辑:删除了关于 E0525 的评论