问题标签 [hyper]

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 投票
2 回答
1194 浏览

compiler-errors - 当我在方法签名中使用 hyper::Client 时,为什么会收到错误“类型参数数量错误”?

我想hyper::Client根据 URL 方案进行配置。为此,我创建了一个小方法:

当我尝试编译它时,我收到以下错误消息:

我不明白为什么它不能编译

  • 我已经在 main.rs 中声明了我对超级板条箱的使用
  • 我在文件头中声明我的用途

我究竟做错了什么 ?

0 投票
1 回答
1184 浏览

rust - 是否可以让 Future::and_then 有条件地返回不同的期货?

在我的代码的这个简化版本中,我有时想执行标记的行,有时不执行,可能会返回错误:

我想我可以用这样的东西替换这条线:

因为Error期货的部分是相同的,并且Item可以推断出部分。但是,它不起作用。我怎么能做到?

这是我得到的错误:

0 投票
1 回答
207 浏览

rust - 嵌套闭包借用失败

我想解析 YAML 文件并将服务中的值用于 HTTP 请求。第 35 行是 main 函数的结尾。

不幸的是,我遇到了一个导致奇怪借用错误的嵌套闭包:

我尝试过了

  1. 在借用之前克隆它
  2. 用于Arc使其基于计数器,
  3. 修改分配

都无济于事

为什么会这样?我该如何解决这个问题?

0 投票
3 回答
17548 浏览

rust - 如何在稳定的 Rust 中同步返回在异步 Future 中计算的值?

我正在尝试使用 hyper 来获取 HTML 页面的内容,并希望同步返回未来的输出。我意识到我可以选择一个更好的例子,因为同步 HTTP 请求已经存在,但我更感兴趣的是了解我们是否可以从异步计算中返回一个值。

该示例编译并调用read()成功,但调用scrap()恐慌并显示以下错误消息:

我知道在调用.wait()未来之前我未能正确启动任务,但我找不到如何正确执行它,假设它甚至是可能的。

0 投票
0 回答
699 浏览

rust - 如何从超级 POST 请求中提取数据?

我正在尝试制作一个小型应用程序,它将作为接受 GET 和 POST 请求的网络服务器运行。我已经启动并运行它,它接受两个请求,但我不知道如何从 POST 请求中提取数据。下面是让服务器启动并运行的代码:

基本上我想知道的是post_fn需要什么才能打印出“你好” curl -X POST --data hello 'localhost:3000'。最终数据将是我反序列化的 JSON 字符串,但我不知道如何首先获得数据。

0 投票
2 回答
680 浏览

rust - 解析为未来的元组

在 rust 中,我试图通过.get使用超级客户端作为元组从请求中提取两位数据来实现未来。问题是生成的类型不起作用

所以给出一些这样的代码:

我收到一个错误,例如the trait "futures::IntoFuture" is not implemented for...

我很确定这是因为元组的两个成员是期货并且可以处理,但元组不是,但我不确定如何解析期货的值并将它们放入元组中。

0 投票
1 回答
951 浏览

rust - Hyper 中的共享可变状态

我正在尝试在 Hyper Web 服务器中创建一个计数器,用于计算它收到的请求数。我正在使用 aArc<Mutex<u64>>来保持计数。但是,我无法找出正确的组合move.clone()满足闭包的类型。这是一些可以编译的代码,但会在每个请求上重置计数器:

0 投票
1 回答
1615 浏览

rust - 使用 hyper 将块流异步写入文件

我正在尝试创建一个简单的函数,使用 hyper 将远程文件下载到本地文件路径。我也需要文件写入是异步的(在我的情况下,我正在使用tokio_fs它)。这是代码:

在操场上观看

但是,我收到以下错误:

从概念上讲,我理解错误的含义:由于 aFnMut通过可变引用捕获变量,我无法移动捕获的变量。但是,我不明白如何在给出的示例中解决这个问题,因为我需要将流写入Join未来返回的文件。

write_all来自trait的方法在Write这里可以工作,因为它将文件作为可变引用,但问题是它在同一个线程上进行写入。

0 投票
1 回答
604 浏览

python - 我正在尝试使用 python 超级库创建一个 http2 多客户端服务器。它只完成第一个请求

我可以使用本教程提供 http2。https://python-hyper.org/projects/h2/en/stable/basic-usage.html。这个版本运行良好。但是由于阻塞套接字,该服务器一次只能为一个客户端提供服务。然后我寻找基于系统调用的多客户端服务器实现select()。本教程向我展示了如何做到这一点。https://realpython.com/python-sockets/。我合并了两个教程,以创建一个 http2 多客户端服务服务器。这就是我最终的结果:

服务器.py

如果我运行 python server.py,并在另一个终端中运行超级 CLI 工具,以发送 http2 请求 ( hyper --h2 GET http://localhost:8080/)。第一个请求成功,我可以看到生成的事件,超级工具显示响应并很好地退出。之后再次发送相同的超级命令,请求没有生成任何事件,CLI 工具也挂起。你能帮我解决问题吗?

0 投票
1 回答
342 浏览

rust - 超级服务器在将来返回 Async::NotReady 时断开连接

我正在尝试使用未来的请求运行具有异步响应的超级服务器。当 future 的poll方法被调用并返回Async::NotReady时,连接就被断开了(“dropping I/O source: 0”)。我预计该poll方法会被多次调用,直到它返回Async::Ready

显示的示例返回一个异步 io 未来,它正在做(我猜)同样的事情。

为什么future的poll函数只调用一次,为什么在future返回后hyper会断开连接Async::NotReady

示例代码:(超版本为:v0.12.21)