问题标签 [nickel]

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

rust - 如何创建使用数据库连接的 Nickel 处理程序?

我正在尝试通过创建 REST API 并将帖子提交到数据库来对评论示例进行简单扩展。我正在创建处理程序本身范围之外的连接,我假设这是我的问题所在。我只是不确定如何解决它。

这是 post 处理程序的代码:

这是我得到的错误:

我认为错误是因为我创建了实例,然后尝试在闭包中使用它,并且一旦我的主函数完成,该变量可能会被销毁。

0 投票
1 回答
616 浏览

rust - 不能将 `*request` 作为可变借用,因为它也作为不可变借用

我使用nickel.rs在Rust中编写了一个端点:

在这一行:

request以不可变状态借用,但在这一行:

request 在可变状态下被借用。这会导致以下错误:

我试图通过将该id行包装在单独的范围内来解决此错误,但问题仍然存在。

我不确定如何解决这个问题。代码还有其他问题吗?

0 投票
1 回答
272 浏览

json - 如何使用 Nickel 模板返回 JSON 文件?

我正在尝试使用 Nickel 模板返回 JSON 文件。我找到了一些返回 JSON 响应的 API 示例代码并对其进行了修改:

/post返回这个 JSON:

/json返回此文本:

如何使用模板返回 JSON 文件?

0 投票
1 回答
286 浏览

rust - 如何将值发送到镍中间件函数

考虑以下代码:

我想data在函数中使用landing

0 投票
1 回答
66 浏览

rust - 如何使用镍响应的“on_send”方法?

在镍网络服务上,我想在响应发送完成时执行一个函数。我在这个文档上找到了 'on_send' 方法,但我无法构建它。

我收到此错误:

类型不匹配:类型[closure@src/models/plugins/session.rs:78:22: 78:31 x:_]实现了 trait std::ops::FnMut<()>,但 traitfor<'r> std::ops::FnMut<(&'r mut nickel::Response<'_, D>,)>是必需的(预期的元组,found ())

和这个

类型不匹配:类型[closure@src/models/plugins/session.rs:78:22: 78:31 x:_]实现了 trait std::ops::FnOnce<()>,但 traitfor<'r> std::ops::FnOnce<(&'r mut nickel::Response<'_, D>,)>是必需的(预期的元组,found ())

我的代码示例是

res在哪里&mut Response<'mw, D>

0 投票
1 回答
270 浏览

ssl - 使用 Let's Encrypt 证书的 Nickel 服务器在使用 rustls 访问时出现握手错误

我正在尝试创建一个类似 REST 的小型 API,应该使用 HTTPS 进行保护。我想为服务器使用镍箱,为客户端使用 hyper_rustls 和 hyper。

只要我使用浏览器、curl 或 REST 客户端访问服务器,服务器就会运行良好,但是当我开始使用 hyper_rustls 时,我总是会收到握手错误:

为了定位错误,我设置了一个最小的服务器:

在铁锈游乐场

为了避免 hyper_rustls 中的错误,我使用了rustls tlsclient 示例,但错误仍然出现。

Let's Encrypt 证书不是问题,因为我可以使用 tlsclient 使用这些证书连接到 Apache2 服务器。

我的想法有误吗?

0 投票
1 回答
18 浏览

couchbase - 如何获取不包含数组内具有特定值的对象的文档

例如,我有两个文件:

最后,我必须获取users数组中没有userwith的文档role: 'guest'。基于两个文档的示例,我必须获得第二个文档。伪代码如下: select * from bucket where users.role = 'guest' is missing

0 投票
1 回答
242 浏览

rust - 如何使用 Nickel 框架渲染网页?

我正在尝试制作一个与 JavaScript 交互并将 JSON 数据发送到 Rust 函数的网页,然后呈现www文件。我的项目结构是:

main.rs

索引.html

此代码一直有效,直到:

我想发送数据$name = "Nickel"并渲染 index.html。

如何渲染整个www/目录,以便在访问127.0.0.1:6767/login后整个页面都在那里(JS、CSS 和图像)而不仅仅是纯文本?

我可以根据要求提供 CSS 文件。

0 投票
0 回答
90 浏览

rust - 如何使用 Nickel 中间件在多个路由中设置 Content-Length 标头?

据我了解,中间件处理程序不适合这种情况,因为它们在处理请求之前工作。我目前的解决方案是:

我不喜欢这样,因为我有很多路线,我必须在每条路线中插入这段代码。我想要一个在处理我的路由后调用的中间件。还有其他方法吗?

0 投票
1 回答
638 浏览

rust - 如何用 Rust 实现应用程序状态?

我正在探索将镍RS用于Web应用程序,因此我目前正在编写一些基本程序来复制我已经能够使用python和flask实现的行为。对于这种特定情况,我想跟踪特定路由的请求数量。在 python 中,使用全局变量很容易,并且我假设 Global Interpreter Lock 提供了一些保证,即一次只能由一件事访问该变量(这对于这个特定场景来说不是一个大问题)。然而,在 Rust 中,每次访问计数器时都必须使用相同的操作unsafe,这似乎表明可能有一种安全的方式来实现应用程序状态?

我尝试使用Nickel::with_data(config)where config 是一个包含单个 u64 的结构,并且通过使用 Request 实现的 server_data() 方法,我可以获得计数器的值,但是我设法通过借用写入结构的任何更改server_data() 结构的结果是可变的,但新值在方法调用之间不存在。

我试图适应这里发生的事情。

到目前为止,我设法开始工作的唯一方法是这篇文章中包含的代码。