问题标签 [rust-rocket]

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 投票
3 回答
570 浏览

rust - 如何在 Rocket.rs 的 url 中使用日期?

您将如何更改 Rocket 网站上的示例以获取 date 而不是 age/ u8

来自网站的示例:

我想要或多或少相同的输出(你好,58 岁,名叫约翰!)但是有这样的东西

而不是那个

我认为正确的结构是chrono::DateTime并且以某种方式涉及Rocket::request::FromParam但我从那里有点迷失了。

0 投票
1 回答
775 浏览

rust - 在请求保护中访问 Rocket 0.4 数据库连接池

我正在创建一个使用 Rocket 进行身份验证的 webapp。为此,我创建了一个User实现FromRequest. 它采用授权标头,其中包含 JSON Web 令牌。我反序列化此令牌以获取有效负载,然后从数据库中查询用户。这意味着FromRequest实现需要一个diesel::PgConnection. 在 Rocket 0.3 中,这意味着调用PgConnection::establish,但在 Rocket 0.4 中,我们可以访问连接池。通常我会按如下方式访问此连接池:

但是,在 impl 块中,FromRequest我不能只将conn参数添加到函数的参数列表中from_request。如何在请求保护之外访问我的连接池?

0 投票
2 回答
2962 浏览

rust - Rocket 每晚需要最低版本的 Rust,但已经安装了更高的稳定版本

我正在尝试运行Rocket,但我在第一个障碍时就掉了下来。尝试时cargo run,我收到以下错误:

我是 Rust 的新手,但是来自其他语言这没有任何意义。它至少需要 1.31.0 版本,但我安装了 1.33.0 版本。

我究竟做错了什么?

0 投票
1 回答
1883 浏览

rust - 如何将 main 中初始化的变量传递给 Rocket 路由处理程序?

我有一个在(第 9 行)中初始化的变量,main我想在我的一个路由处理程序中访问对这个变量的引用。

在其他语言中,这个问题可以通过使用全局变量来解决。

0 投票
2 回答
949 浏览

rust - 使用显式生命周期时,Rocket 的状态错误“尝试检索非托管状态”?

当使用具有省略生命周期的 Rocket 时State,可以正常处理对路由的请求:

但是,如果提供了明确的生命周期,那么 Rocket 会在请求中出错Attempted to retrieve unmanaged state!

编译器没有在这里找到一些东西,或者 Rocket 避免了安全检查,因为它编译正常,没有任何错误或警告。有任何想法吗?

0 投票
1 回答
351 浏览

rust - 将非静态生命周期传递给 Rocket 的管理

如何将具有非静态生命周期的对象传递给 Rocket 的manage?目前我有这些方面的东西:

但我收到以下错误:

为了添加更多上下文,Bar是一个struct包含使用运行时参数初始化的盒装闭包。args 包含密码、密钥和机密等内容 - 实际代码是开源的,因此可以在此处找到。它是 WIP,因此会发生变化,并且不完全是最新的,但希望为最终目标提供一个想法。

0 投票
1 回答
2195 浏览

json - 如何在 Rust 中将 Vec 转换为 JsonValue

我正在Vec<Bookable>使用柴油库查询我的数据库并获取一个结构。

当我查询元素时,我可以访问结果,但无法将其转换Vec<Bookable>json!宏:

后来我这样称呼它:

问题是如何将术语放入此对象并将整个数组发送到 API?我可以像这样对 json 进行字符串化:

但是当涉及到现有的 Vec 时,我会遇到编译器错误。我正在使用Rocket,所以它提供了一个rocket_contrib::json::JsonValue包含json!宏的

0 投票
1 回答
671 浏览

post - 如何修复 Rust Rocket 框架中 POST 请求中的解析错误

我正在使用 rust Rocket 框架制作一个非常简单的 Web 应用程序。我有一个非常简单的 HTML 文件,它有一个表单,如下所示:

接下来,这是我处理请求的火箭函数。我有一个 get 函数,在访问“/”时会吐出 index.html,然后对于我的表单,我有以下函数:

然后,这是响应 GET 请求:

就像我说的,非常简单,非常准系统,只是试图同时蹑手蹑脚地进入 Rust 和 Web 应用程序。我在这两个方面都没有太多经验。我的问题是,在我的 html 文件中使用呈现给用户的字段时,服务器返回错误:

如果我直接去,“localhost:8000/search/Hello!” 我可以看到我的 GET 响应有效。但是,如果我使用我的表单,它会拒绝解析。我究竟做错了什么?我只是在尝试制作一个接受输入并基于该输入返回某些内容的 Web 应用程序。网站重定向,网页抓取,我还不确定功能的细节,但我需要能够在表单中输入一些内容并获取它以供以后在我的 rust 代码中使用。任何帮助,将不胜感激!

0 投票
2 回答
507 浏览

rust - Rust PathBuf 如何防止目录遍历攻击?

来自“氧化案例:Rust 编程语言” Sergio Benitez 说,

这是一个用 Rocket 编写的静态文件服务器。它正好是四行,保证不会受到目录遍历攻击。

这四行是:

这张幻灯片的底部说,

  • FromParam*PathBuf验证路径安全的实现

我了解了一种类型如何通过验证输入来保证安全性(就像任何对象都可以在构造函数中一样,或者函数的输入如何用验证函数包装。

许多语言都提供了这一点。我也了解如何通过将其放入类型或类的构造函数中来简化它,

但我对 Rust 在这里的不同之处(如果有的话)感到困惑。这还有什么?

0 投票
1 回答
694 浏览

rust - 如何从 Rocket 端点返回 State 值?

我将来自外部服务的数据存储在本地缓存中,并且我想创建一个端点以返回当前在缓存中的数据。

编译器抱怨:

cargo build --verbose输出

我的 Cargo.toml 文件:

重现错误的非常简单的存储库