问题标签 [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 投票
3 回答
469 浏览

scala - json 的实体解码,返回任何 val 的列表/序列

我正在使用 http4s 构建应用程序的后端。在应用程序中,我收到来自外部 api 的 json 响应(不是我正在处理的那个)。api 响应是下面这种模式。

json响应:

}`

我的问题是?有人可以告诉我如何创建一个实体解码器和实体编码器来解码模式。我似乎可以让它工作。

目前我有:

但这不起作用。请有人能告诉我哪里出错了。

我收到运行时错误*不是编译错误)。它是一个 http4s 错误,上面写着 - InvalidMessageBodyFailure。

谢谢

0 投票
2 回答
246 浏览

scala - http4s 解压 gzipped http 响应

我尝试在客户端解压缩 gzipped 的简单响应。使用 http4s 的合适方法是什么?

http4s 版本“0.21.3”如果我在 IDEA Scala 工作表中运行它。它工作正常并输出:

res0: String = <html class="i-ua_js_no i-ua_css_standart i-ua_browser_ i-ua_browser-engine_i

但是,如果我将 ,Header("Accept-Encoding","*") 更改为 ,Header("Accept-Encoding","gzip") 服务器返回我压缩的内容并输出:

res0: String = " ??????????|?r?H??P?320???,Y??+d[v{??????" ?????%??9?'&6&66f???????3 ?{????7?/?

我尝试了不同的解码器,但出现了以下错误:

失败(java.util.zip.ZipException:不是 GZIP 格式)

0 投票
1 回答
80 浏览

scala - 你将如何用猫包装一个包含并发哈希映射的类?

假设我有一个包含内部并发哈希映射的类

现在,如果我想在我的 API 端点和服务的其他区域中引用这个类,我将如何将它包装在猫 IO/效果中?

由于这已经是管理状态,它仍然是一个效果 IO 吗?

需要一些指导,因为我对 FP 有点困惑和陌生。

0 投票
0 回答
87 浏览

scala - 如何正确链接路由

我已经定义了以下路线:

我试图撰写到父路径:

当我调用 URLhttp://localhost:8080/api/interests时,我得到了Not found.

我究竟做错了什么?

0 投票
1 回答
296 浏览

scala - 构建一个 ZIO 和 http4s 应用程序,与 sbt 一起工作,在 Bazel 中失败:缺少一个隐式

我正在尝试构建一个集成 ZIO 和 http4s 的服务。

起点是这个例子(它使用 zio 1.0.1、http4s 0.21.3、scala 2.12.11)

我能够使用 构建下面的代码而没有任何问题sbt,但是在尝试使用 Bazel 构建时遇到了麻烦:

Sbt 很高兴,但是当我用 Bazel 构建它时:

关于 bazel 设置:我使用rules_scalafrom HigherkindnessBUILD文件如下:

当涉及到隐式时,我并不太了解,我想知道“魔法酱”的哪一部分缺少让这个在 Bazel 中工作。到目前为止,我有两个假设:

  • 我错过了一个我需要在某处明确指定的依赖项,当使用 sbt 构建时它在类路径上,而在 Bazel 中丢失
  • 整个事情取决于宏,我知道这在我的设置中可能有问题

因此,我有一个基本问题:任何人都可以对正在发生的魔法有所启发,让编译器compile在上面的示例代码中找到正确的隐式传递给?

0 投票
1 回答
68 浏览

scala - 阴影/删除字符串插值器

我正在使用两个定义字符串插值器的库(为了清楚起见,简化了代码):

Http4s

ip4s

我想同时使用它们,即来自 Http4s 的uri插值器和来自 ip4s 的各种插值器。问题在于以下代码:

编译失败:

无论如何要从隐式范围中隐藏/删除字符串插值器?

0 投票
0 回答
371 浏览

scala - http4s 中的自定义普罗米修斯指标

在 http4s 文档中有一个将/metrics端点添加到 Http4s 提供的路由的示例: https ://http4s.org/v0.21/middleware/

所有这些都是由库预定义的,但我想知道是否有可能添加自定义指标,但我找不到任何有关它的信息。

有人知道吗?

0 投票
1 回答
515 浏览

scala - org.http4s.client 带有标题和 UriForm 的帖子

使用 org.http4s.client 找不到如何将标头和 UriForm 与 Post 请求一起发送。

req1 没有我的标题 req2 没有表单数据

谢谢

0 投票
1 回答
186 浏览

scala - 使 Rho swagger.json 不需要 Auth

在尝试使用 Rho lib ( https://github.com/http4s/rho ) 实现自记录 API 时遇到问题 根据要求,我们的路由应受 Auth 中间件 ( https://http4s.org/v0.21/ ) 保护auth/ ),现在 Rho 中间件生成的 swagger.json 也需要身份验证。这是代码:

有什么方法可以将 swagger.json REST 调用排除在身份验证保护之外?

0 投票
2 回答
171 浏览

scala - http4s 在 uri 中使用双引号和大括号

我找不到解决方案,如何构建这个 uri