问题标签 [http-kit]

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

clojure - Clojure Web (HttpKit, Manifold) vs Elixir/Pheonix

我目前正在权衡使用 Elixir 与 Clojure 来运行 Web 服务器来处理许多并发 Web 套接字连接。现在 Elixir/Phoenix 似乎很适合这个,你会看到基准证明它的扩展范围(我怀疑这对现实生活负载有影响)。但是,我们的大部分基础设施都是用 Clojure 编写的。

在我们的例子中,websocket 处理程序几乎完全独立于现有代码库的其余部分。

所以问题是——你会考虑采用另一种语言/生态系统,因为它更适合特定工作吗?与使用已经是现有生态系统很大一部分的工具相比。

而且,Elixir/Phoenix 在现实世界的负载下是否比 Clojure/JVM 显着超过了这种任务来证明使用它的合理性?

0 投票
1 回答
271 浏览

clojure - 如何使用引导运行 http-kit?

使用引导运行时,我无法从 http-kit 服务器获得任何响应。它适用于码头。当我运行boot run它时,它会在一段时间后退出。所以我添加了(boot (wait))哪个不会终止,但服务器似乎没有运行。

boot.clj文件:

0 投票
1 回答
3482 浏览

unit-testing - 如何使用环模拟请求以 JSON 形式模拟测试 POST 请求?

我使用 http-kit 作为服务器,使用wrap-json-bodyfromring.middleware.json来获取从客户端发送的字符串化 JSON 内容作为请求正文。我core.clj的是:

当我使用lein run该方法运行服务器时,它可以正常工作。我正在对 JSON 进行字符串化并从客户端发送它。sign 方法将 json 正确获取为{"abc": 1}.

问题是在模拟测试期间。sign 方法得到 a ByteArrayInputStream,我json/generate-string用来转换为在这种情况下失败的字符串。我尝试将处理程序包装起来,wrap-json-body但它不起作用。这是我尝试过的测试用例core_test.clj

所有失败并出现以下错误:

如何将 JSON 字符串作为主体传递给环模拟测试中的方法?

0 投票
1 回答
354 浏览

http - 使用 HTTP Kit 进行流式连接/长轮询?

我正在尝试使用永远不会关闭的 HTTP 流连接(它是 Gnip Compliance 流)。

我想使用HTTP Kit,但我无法让它工作。如果我通过:stream参数:

在请求关闭之前响应不会返回(并且永远不会完成)。

有没有办法做到这一点?

我用clj-http尝试过同样的事情,没有运气。

0 投票
0 回答
243 浏览

logging - 不使用(Clojure)http-kit 登录请求

是否可以使用 Clojure 库 http-kit(即在客户端)不记录失败请求的错误。我的应用程序正在使用它来 ping 其他服务,而它们被关闭并不是真正的错误。

0 投票
2 回答
1185 浏览

clojure - How to reload (stop and start) an http-kit "mount state" on a -main function

With the mount library, how do I reload (stop and start) an http-kit "mount state" on a -main function?

My current code is this:

So when I "lein run" everything works, but whenever I change a file, and the http-kit server is stopped, the command stops. For the moment I'm doing "while true; do lein run; done" to work, so I've thought about adding an infinite loop to the -main function, but it doesn't feel like this is the right way.

How should I do this?

0 投票
1 回答
290 浏览

clojure - 有没有办法查看 http-kit 生成的请求?

我正在开发一个使用 http-kit 客户端库的应用程序,我认为它正在生成有问题的请求。由于请求通过 https,我不能只是嗅探它们,而且我也找不到让 http-kit 使用代理(例如 Charles)来查看包内容的方法。

有什么办法可以看到它们吗?我想将它们与 Chrome 中的相同请求进行比较。

0 投票
2 回答
572 浏览

clojure - Clojure http-kit:获取查询参数作为地图?

我有一个带有端点的服务器.../end2,我将参数发送到该端点,例如:

我如何获得地图{:a 2 :b 1}?我认为 (:params request)这是要走的路,但我得到一张空地图..

0 投票
2 回答
230 浏览

concurrency - 在并发 http-kit/get 实例中使用 ai/o 回调的最简单方法

我正在启动数百个并发http-kit.client/get请求,并提供回调以将结果写入单个文件。

什么是处理线程安全的好方法?使用chan<!!core.asyc

这是我会考虑的代码:

感谢您的见解。

0 投票
1 回答
332 浏览

asynchronous - 带有回调写入数据库 sqlite3 的异步 clojure http-kit 客户端

在写入 sqlite 表时,我被 http-kit 异步行为所困扰。

对数据库的 i/o 取决于我是将代码发送到bootrepl 还是将其作为boot脚本运行。i/o 仅在 repl 情况下进行。我错过了什么?这是我的代码:

谢谢