问题标签 [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 回答
3518 浏览

http - 如何在 Rust 中使用 hyper、tokio 和 futures 为 HTTP 请求设置超时?

如何使用异步 Hyper (>= 0.11) 为 HTTP 请求设置超时?

这是没有超时的代码示例:

0 投票
1 回答
1571 浏览

http - 如何在 Rust 中使用 HTTP 代理和异步 Hyper 0.11?

如何使用 Hyper 0.11 的代理发送 HTTP 请求?我有以下工作代码在没有代理的情况下发送 HTTP 请求:

这不是如何通过 Hyper 代理访问 HTTPS 站点的副本?因为我问的是 Hyper 0.11 的新版本,它有一个完全不同的 API,与以前的版本不兼容。

0 投票
1 回答
1779 浏览

server - 如何在超级中提供静态文件/目录?

我想从我的超级服务器提供一些静态文件(.js、.css、...)。
目前我能想到的唯一方法是将文件内联为字符串/在启动时加载它们。
有没有更好的方法来直接提供整个目录或选定的文件?

0 投票
1 回答
1939 浏览

websocket - Running websocket and http server on the same port (Rust, hyper)

I want to write a webserver using Rust, Hyper and websocket-rs. The webserver must be able to handle http requests AND websocket requests on the same port. I used the official sample (async-server.rs: https://github.com/cyderize/rust-websocket/blob/master/examples/async-server.rs) and tried to modify it. My idea was to change the error handling. If the client's request is a simple http request then do not return an error, but spawn a future which handles the request instead.

Based on another SO question (How do I handle an error when using rust-websocket so that only that connection fails and not the entire program?) I changed the error handling from the sample.

This is the old code:

Here is my new code:

This is where I am stuck. The sample code calls a function spawn_future, which expects a parameter (upgrade.reject()) which is not available in my code since I do not have access to an upgrade structure. I tried a few other things (i.e. calling handle.spawn_fn) but the compiler never liked what I did. (I could paste some of the compiler errors, but I do not think that they would improve the quality of my post.)

Here is my question: What is the recommended way to write an asynchronous server which can handle http requests AND websocket requests on the same port? If my approach is correct: can you please help me to fill the SPAWN THE FUTURE line?

Additional context (if you haven't noticed yet): I am a total Rust beginner.

0 投票
0 回答
90 浏览

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

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

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

0 投票
0 回答
705 浏览

rust - 从 Hyper 请求中提取正文作为字符串

我正在尝试使用 Hyper 在 Rust 中创建一个简单的 Web 服务器,但在尝试将其转换request.body() StreamString.

我每晚运行 rustc 1.21.0

到目前为止,我有这个:

这会导致以下错误消息:

我认为我正在从该fold方法返回一个未来,其结果被输送到该and_then方法中,我希望该方法将一个String版本分配request.body给该body变量。

我对 Rust 很陌生,但对我来说,错误似乎表明and_then连接器只接收Error未来的价值,而不是Ok价值......

这是一个正确的解释吗?我将如何解决此错误?

0 投票
1 回答
1104 浏览

json - 使用 serde_json 解析对象内部的对象

我被卡住了,下面是我收到的 JSON:

我对我的结构应该如何使用serde_json板条箱解析属性感到有点困惑。以下是我目前拥有的:

我收到一条错误消息:

线程'main'在'调用Result::unwrap()一个Err 值:ErrorImpl { code:Message(“missing field assest”),line:0,column:0}'时惊慌失措,src/libcore/result.rs:860:4

0 投票
3 回答
1080 浏览

rust - 为什么在超中匹配请求的路径后什么都没有发生?

我正在尝试使用 hyper 0.11.2 读取 POSTed JSON。打印“Reached”后,我看不到任何事情发生。

输出:

0 投票
1 回答
361 浏览

python - 无法使用 python 3.5 和 Hyper 向 APNS 发送 ALPN 请求

我正在尝试使用Hyper在我的 Python REST 服务器上实现 APNS 服务。由于 APNS 现在需要 HTTP/2 (ALPN) 协议,因此我无法get_response()从 Hyper 连接。它引发以下错误。

我做了一些研究,结果发现 ALPN 需要 OpenSSL 1.0.2。我参考这篇文章从源代码编译了 OpenSSL 1.0.2i 和 Python 3.5.1。

我检查了 ssl 版本import ssl print(ssl.OPENSSL_VERSION)并返回OpenSSL 1.0.2i 22 Sep 2016。但ssl.HAS_ALPN返回False

我正在使用 Amazon Linux,如何使用 ALPN 向 APNS 服务器发送请求?谢谢你。

0 投票
2 回答
463 浏览

https - 当我使用 reqwest 的客户端构建器时,有没有办法可以向代理添加基本身份验证?

我正在尝试使用 Reqwest 的代理功能将 user:pass basic auth 和 URL 的其余部分传递给代理功能。显然,这个板条箱的工作方式基本身份验证不能以这种方式传递给代理。

当我注释掉代理时,我得到了我的数据,但它没有通过我的代理: