问题标签 [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.
soap - http-kit 是否支持 SOAP?
我正在考虑使用 Apache Axis2 编写一个 SOAP Web 服务。我可以使用 Axis 服务器或将其打包为 .war 并将其部署到 servlet 容器。我的 REST 服务在 http-kit 上运行。是否可以将 http-kit 与 SOAP 一起使用,或者它是否支持 SOAP?或者我应该需要一个单独的 servlet 容器,如 tomcat 或 Axis2?谢谢。
更新:Apache CXF 而不是 Axis2。我想我不能使用 http-kit。
clojure - httpkit-fake 不拦截带有传递参数的 url 构建
我怎样才能with-fake-http
拦截http/get
包含:query-params
. 以下代码产生异常
CompilerException java.lang.IllegalArgumentException: 尝试在未注册的 URL localhost 上执行 GET,并且禁用了真正的 HTTP 请求。,编译:(web/db_test.clj:57:1)
谢谢你的帮助。
clojure - Clojure 重新加载工作流程而不使用像 Component 这样的库?
所以我有一个简单的 webapp,它有一个启动 http 服务器的 main 方法。我想要实现的开发设置基本上类似于使用 lein auto,但我想停止和启动我的服务器并在文件更改时自动重新加载命名空间。这似乎应该简单明了,但到目前为止,我还没有找到任何 lein 插件或其他方法来真正实现这一点。
clojure - 使用 HTTP-Kit 停放的线程
我有几个线程在运行,每个线程都会阻塞调用 HTTP Kit。我的代码一直在工作,但最近在大约 30 分钟后冻结。我所有的线程都停留在以下点:
线my_project.web.clj:35
是这样的:
(我使用的是纯 Java 线程,而不是core.async
因为我在各自的线程中运行一组并发 Apache Kafka 客户端的上下文。Kafka 客户端确实启动了很多自己的线程,尤其是在我运行时它几次,例如5并行)。
我所有的线程最终都像这样停在 HTTP Kit 中的事实表明存在资源泄漏,或者 HTTP Kit 中的某些代码在它有机会交付之前就死了,或者可能是资源匮乏。
另一个线程似乎卡在这里。它可能会阻止所有的承诺交付。
任何想法可能是什么问题,或如何诊断它的指针?
ssl - ssl上的clojure http-kit失败
我面临的问题很难调试,因为它在堆栈跟踪中没有提供太多解释。我要做的是使用提供给我的密钥和秘密来检索 oAuth 令牌。使用邮递员时,它工作得很好,这意味着问题不能是外部的。当我在 Clojure 中尝试它时,它失败了。
请参阅下面的示例代码。
我得到的结果是
下面是 curl 请求示例生成
我显然改变了任何敏感信息。现在奇怪的是,当我运行该 curl 请求时,尽管邮递员返回了预期的结果,但它仍然不起作用。请参阅下面的卷曲错误
为什么它适用于邮递员,但不适用于邮递员生成的确切 curl 请求?
为什么它不适用于我的 Clojure 应用程序,任何帮助将不胜感激。
clojure - HTTPKit 为 Let's Encrypt 网站提供 ProtocolException: "No status"
我正在尝试检索 URL。在撰写本文时:https ://upvote.pub/
使用java.net.URL
,我可以很好地检索到:
同上 clj-http:
但是当我使用 HTTPKit 时,我遇到了问题:
本网站使用 Let's Encrypt。但是,其他 Let's Encrypt 网站似乎可以工作:
证书具有不同的属性,但来自同一机构。
此外,如果我包含:insecure? true
,错误仍然会发生。
我认为这可能与此 HTTPS + 代理错误有关,因为症状相似并且 Google App Engine 似乎正在对站点进行负载平衡。但是,此修复程序已发布到 2.2.0 版本中。
这是 HTTP-Kit 的错误吗?我可以解决它吗?
- openjdk 版本“1.8.0_92-internal”
- Clojure 版本 1.8.0
- http-kit 版本“2.2.0”
exception - 无法在 clojure ring 应用程序中捕获异常
我正在开发我的购物应用程序,并且正在尝试制作一个自定义异常处理程序,但是在我找到它们之前还有其他东西正在捕获它们!
这是我的处理程序
这是我的堆栈
我在我的一个环功能中进行测试
结果输出如下所示
我的处理程序永远不会捕获到异常!我已经尝试了所有我能想到的版本,但没有运气:-(谁在追赶它?我该如何让它停止?
问候索伦
websocket - 使用 Websocket 服务器 ping 客户端
我有一个从 http-kit 提供的 Websocket 连接(Clojure,它工作得很好)。我从客户端发送 ping 以确保我们仍然保持连接,并且那里一切正常。我的问题是,在这些情况下,人们是否会打扰从服务器 ping 客户端?
如果我没有得到响应,我试图设置一些东西来从服务器中删除通道,但是设置定时进程和改变状态来跟踪乒乓周期并不是很友好,所以它得到了有点丑。然后我想,服务器可以同时处理数十万个连接,我应该不担心几个断线吗?人们通常如何处理(或不处理)这个?
websocket - 使用 http-kit 和 Clojure 处理“房间”
我有一个不错的使用http-kit
服务器的 WebSocket 小应用程序,我对自己感觉很好。现在我想向我的应用程序添加不同的“房间”(其列表应该是动态的),但我很难找到任何文档或示例项目。我不害怕提出自己的解决方案,但是依靠别人的经验是件好事。有谁知道类似实现的任何示例?
我可以想到两种方法:
1)我可以将“房间”与频道一起保持在状态,然后只保留与该send!
房间关联的频道。似乎是最简单的方法,但是每次广播消息时我都会过滤每个附加的频道。
2)我可以在每次打开新房间时构建一个新的套接字端点,并将新的 URL 发送回前端(如果房间已经打开,则发送现有的 URL),然后丢弃旧的套接字并打开新网址的新网址。构建新端点的一些开销,但是我可以广播到每个订阅它的频道。
还有其他想法或意见吗?我对使用 WebSockets 和 Clojure 编程还是很陌生,所以我觉得可能有更好的方法。