问题标签 [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.
rust - 如何创建使用数据库连接的 Nickel 处理程序?
我正在尝试通过创建 REST API 并将帖子提交到数据库来对评论示例进行简单扩展。我正在创建处理程序本身范围之外的连接,我假设这是我的问题所在。我只是不确定如何解决它。
这是 post 处理程序的代码:
这是我得到的错误:
我认为错误是因为我创建了实例,然后尝试在闭包中使用它,并且一旦我的主函数完成,该变量可能会被销毁。
rust - 不能将 `*request` 作为可变借用,因为它也作为不可变借用
我使用nickel.rs在Rust中编写了一个端点:
在这一行:
request
以不可变状态借用,但在这一行:
request 在可变状态下被借用。这会导致以下错误:
我试图通过将该id
行包装在单独的范围内来解决此错误,但问题仍然存在。
我不确定如何解决这个问题。代码还有其他问题吗?
json - 如何使用 Nickel 模板返回 JSON 文件?
我正在尝试使用 Nickel 模板返回 JSON 文件。我找到了一些返回 JSON 响应的 API 示例代码并对其进行了修改:
并/post
返回这个 JSON:
/json
返回此文本:
如何使用模板返回 JSON 文件?
rust - 如何将值发送到镍中间件函数
考虑以下代码:
我想data
在函数中使用landing
。
rust - 如何使用镍响应的“on_send”方法?
在镍网络服务上,我想在响应发送完成时执行一个函数。我在这个文档上找到了 'on_send' 方法,但我无法构建它。
我收到此错误:
类型不匹配:类型
[closure@src/models/plugins/session.rs:78:22: 78:31 x:_]
实现了 traitstd::ops::FnMut<()>
,但 traitfor<'r> std::ops::FnMut<(&'r mut nickel::Response<'_, D>,)>
是必需的(预期的元组,found ())
和这个
类型不匹配:类型
[closure@src/models/plugins/session.rs:78:22: 78:31 x:_]
实现了 traitstd::ops::FnOnce<()>
,但 traitfor<'r> std::ops::FnOnce<(&'r mut nickel::Response<'_, D>,)>
是必需的(预期的元组,found ())
我的代码示例是
res
在哪里&mut Response<'mw, D>
ssl - 使用 Let's Encrypt 证书的 Nickel 服务器在使用 rustls 访问时出现握手错误
我正在尝试创建一个类似 REST 的小型 API,应该使用 HTTPS 进行保护。我想为服务器使用镍箱,为客户端使用 hyper_rustls 和 hyper。
只要我使用浏览器、curl 或 REST 客户端访问服务器,服务器就会运行良好,但是当我开始使用 hyper_rustls 时,我总是会收到握手错误:
为了定位错误,我设置了一个最小的服务器:
Chrome 中的有效证书:
- 访问镍服务器时tlsclient的完整输出
- 访问 badssl.com 时 tlsclient 的完整输出
为了避免 hyper_rustls 中的错误,我使用了rustls tlsclient 示例,但错误仍然出现。
Let's Encrypt 证书不是问题,因为我可以使用 tlsclient 使用这些证书连接到 Apache2 服务器。
我的想法有误吗?
couchbase - 如何获取不包含数组内具有特定值的对象的文档
例如,我有两个文件:
最后,我必须获取users
数组中没有user
with的文档role: 'guest'
。基于两个文档的示例,我必须获得第二个文档。伪代码如下:
select * from bucket where users.role = 'guest' is missing
rust - 如何使用 Nickel 框架渲染网页?
我正在尝试制作一个与 JavaScript 交互并将 JSON 数据发送到 Rust 函数的网页,然后呈现www文件。我的项目结构是:
main.rs
索引.html
此代码一直有效,直到:
我想发送数据$name = "Nickel"
并渲染 index.html。
如何渲染整个www/目录,以便在访问127.0.0.1:6767/login后整个页面都在那里(JS、CSS 和图像)而不仅仅是纯文本?
我可以根据要求提供 CSS 文件。
rust - 如何使用 Nickel 中间件在多个路由中设置 Content-Length 标头?
据我了解,中间件处理程序不适合这种情况,因为它们在处理请求之前工作。我目前的解决方案是:
我不喜欢这样,因为我有很多路线,我必须在每条路线中插入这段代码。我想要一个在处理我的路由后调用的中间件。还有其他方法吗?
rust - 如何用 Rust 实现应用程序状态?
我正在探索将镍RS用于Web应用程序,因此我目前正在编写一些基本程序来复制我已经能够使用python和flask实现的行为。对于这种特定情况,我想跟踪特定路由的请求数量。在 python 中,使用全局变量很容易,并且我假设 Global Interpreter Lock 提供了一些保证,即一次只能由一件事访问该变量(这对于这个特定场景来说不是一个大问题)。然而,在 Rust 中,每次访问计数器时都必须使用相同的操作unsafe
,这似乎表明可能有一种安全的方式来实现应用程序状态?
我尝试使用Nickel::with_data(config)
where config 是一个包含单个 u64 的结构,并且通过使用 Request 实现的 server_data() 方法,我可以获得计数器的值,但是我设法通过借用写入结构的任何更改server_data() 结构的结果是可变的,但新值在方法调用之间不存在。
我试图适应这里发生的事情。
到目前为止,我设法开始工作的唯一方法是这篇文章中包含的代码。