问题标签 [http4s]

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 投票
0 回答
373 浏览

scala - 如何处理 http4s 中的连接池错误?

如果 blaze 客户端无法连接到服务,我会尝试以虚拟响应进行响应http4s,但我无法弄清楚如何处理池错误。

设置连接池

并使用这个池执行器调用 REST API——</p>

从 URI 获取

但是,如果uri指定的 inclient.fetch是我无法捕获的不可到达的端点。

错误

client.fetch结果,由于连接池本身会引发错误,因此我无法使用调用的回退进行响应。我该如何处理这些?

0 投票
0 回答
511 浏览

java - 此服务器上没有上下文匹配或处理此请求

我构建了一个使用 Jetty 作为 Servlet 容器的 http4s 网络应用程序。下面的代码显示了服务器的实现:

然后我编译为 WAR 文件并将其放入webapps主 jetty 文件夹的子文件夹中:

在此处输入图像描述

Jetty 服务器启动后,显示:

在此处输入图像描述

但我想获取服务的主页:

在此处输入图像描述

而不是点击:

在此处输入图像描述

进入服务。

在 中WEB-INF,我创建了jetty-web.xml具有以下内容的文件:

并且不起作用。

如何获得user-svc作为根路径/

0 投票
1 回答
890 浏览

scala - Cannot find an implicit value for ContextShift

I am trying to create webapp with http4s that is based on Http4sServlet. The following code does not compile:

the error message:

The UserSvcServer is implemented as follows:

How can I import ContextShift implicitly?

0 投票
1 回答
128 浏览

scala - Jetty 错误:此 URL 不支持 HTTP 方法 GET

我正在使用HTTP4S,并且 webapp 正在码头上运行。Web 应用程序文件配置为:

可用的 URI 是:

当我调用http://localhost:8080/时,我得到了:

在此处输入图像描述 我做错了什么?

0 投票
1 回答
187 浏览

scala - 在 http4s 的中间件中获取 cookie?

我正在尝试编写可以提取特定cookie并将信息存储在ContextRequest中的中间件。这是我的测试代码:

然后我像这样使用它:

问题是:请求没有任何 cookie,所以我在 Chrome 开发工具和日志中的请求详细信息中看到了它们。我做错了什么以及如何使它起作用?

0 投票
1 回答
926 浏览

scala - 使用 circe 和 Http4s 时精炼类型的解码器

我正在尝试将精炼类型用于案例类,但无法弄清楚编码器将如何实际工作。对于 json 解析,circe 与 https4s 库一起使用。

错误

最坏的情况是我需要定义自己的解码器并解析它。但是,如果有任何其他可以进一步简化的方法会很好。

0 投票
1 回答
311 浏览

scala - 如何转换成精炼型?

我正在使用库https://github.com/ftomas/refined并希望转换java.util.UUID为精炼的Uuid.
如何转换java.util.UUID为精制的Uuid

更新

我有以下 http 路由:

读取函数定义如下:

编译器抱怨:

0 投票
2 回答
967 浏览

scala - http4s - 如何创建线程数有限的 blaze 客户端?

我试图用有限数量的线程创建 blaze 客户端,如下所示:

完整的代码和负载测试  

但是负载测试结果看起来像是一个请求一个线程: 在此处输入图像描述

如何为我的 blaze 客户端限制线程数?

0 投票
1 回答
114 浏览

scala - 如何让 Http[F] 脱离上下文 F?

我正在尝试在码头上运行基于http4s的 webapp 。http4s 库提供了AsyncHttp4sServlet[IO]类来扩展,我使用如下:

正如您在该service属性上看到的,我提供了具有以下实现的 http 服务:

start方法应该返回HttpApp[F],但不幸的是for块返回F[Http[F]]。但是最后F将是一种IO类型。

这是 的定义HttpApp[F]

两者EnvironmentLoader.db.load[F].map(create_transactor)EnvironmentLoader.cors.load[F].map(origin)都在它们的上下文中F,它们加载环境变量。为了加载环境变量,我使用库https://cir.is/

我知道,不可能Http[F]脱离上下文F。我必须在这里重组代码以使其工作吗?

更新

一种可能的解决方法是:

它很丑,但它有效。

0 投票
1 回答
201 浏览

scala - 是否可以在 http4s 服务器上的多个 http 请求之间共享纯 FP 状态?

我正在尝试在http4s服务器上的多个 http 请求之间共享状态。

这就是我尝试过的:

在我在 http 请求中更改状态后,状态保持不变。

Ref是否可以使用或来自的东西以纯 FP 风格共享“状态” Fs2

更新:问题出在我的应用程序中。与我如何通过参考无关。我的错。