问题标签 [armeria]

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

armeria - Armeria HTTP 客户端 - 如何添加查询字符串参数

我搜索了一下,但找不到“Armeria API”来优雅地做到这一点。我对 Netty 很熟悉,所以目前我正在使用QueryStringEncoder. 有一个更好的方法吗 ?在这里,我有一个动态Map参数,我需要以编程方式构建 HTTP 客户端。ArmeriaWebClientRequestHeadersbuilder 提供了添加标题和路径的方法,但不提供查询字符串参数。

0 投票
3 回答
45 浏览

armeria - 如何将 ServiceRequestContext 传播到我的自定义线程池

我有一个场景,它处理 armeria 请求,并将一些事件发送到guava's EventBus。问题是我在 EventBus 处理程序中处理事件时丢失了上下文。我想知道有没有办法让事件处理器访问ServiceRequestContext

注册事件处理程序。

这是我的Armeria服务

0 投票
1 回答
160 浏览

armeria - Accessing response headers using a decorator in Armeria

I would like to add a decorator to my armeria client that checks each http response if a certain http header was returned:

However, when starting my client it blocks on the join() call and waits forever. Is there a standard pattern for this in Armeria ? Presumably i cannot just block on the response in an interceptor, but i could not find a way to access the response headers otherwise. Using subscribe or toDuplicator did not work any better though.

0 投票
1 回答
40 浏览

armeria - 禁止特定的 http 方法

https://github.com/openzipkin/zipkin/pull/3239相关,我们遇到了一些(可能)奇怪的行为,我想知道下面的测试是否按预期工作:

基本上我们想禁用所有TRACE请求,并设置pathPrefix("/")来实现这一点。但是由于某种原因,OPTIONS调用/something被困在同一条路径中。如果我删除路线装饰器,事情会按预期工作。

0 投票
1 回答
51 浏览

armeria - Armeria grpc 客户端:如何为不同的 grpc 方法设置不同的重试行为

我正在使用 Armeria grpc 客户端,如下所示:

这会在所有传出请求中强制执行此重试行为。

有没有办法为目标服务提供的每个 grpc 方法提供不同的重试参数?

0 投票
1 回答
145 浏览

netty - HTTP 到 HTTPS 代理 CONNECT 处理 - 将代码从 Netty 移植到 Armeria

我有一些当前在 Netty 中工作的代码,它充当 HTTPS 代理服务器,因此我们处理一个CONNECT方法并将一个 SSL 处理程序动态添加到管道中:

我正在将整个事情移植到 Armeria,并希望得到一些关于如何解决这个问题的提示。我使用以下方法使非 SSL 流程正常工作:

任何提示将不胜感激!

0 投票
1 回答
54 浏览

armeria - 将每个请求响应延迟添加到自定义 HttpService 的正确方法

这是我目前的实现HttpService.serve()

我有一个用户定义的响应延迟,它可能因每个单独的请求响应而异,这在myResponse对象中可用。

以非阻塞方式应用此延迟的最佳方法是什么,我可以看到一些delayAPI-s 但它们在HttpResponse. 任何有关流式 API 设计或装饰器的额外提示或指针都会有所帮助。我真的从 Armeria 代码库中学到了很多东西 :)

0 投票
1 回答
297 浏览

exception - 有没有办法在 armeria 中为 grpc 服务使用丰富的错误模型?

我将 Armeria 1.3.0 和 protobuf 用于 gRPC 服务。我在处理异常时尝试使用丰富的错误模型,但我认为 Armeria 似乎只支持标准错误模型。

如何在 Armeria 中使用丰富的错误模型?我想在发生异常时返回自定义错误代码/消息以及有关错误的更多详细信息。

提前感谢您的回答。

0 投票
1 回答
58 浏览

log4j2 - 如何在 log4j2.xml 配置中使用 armeria 的 RequestContext 自定义属性?

我正在log4j2 2.14.0使用armeria 1.3.0. 根据 armeria 文档,我可以看到RequestContext custom atrributes可以使用com.linecorp.armeria.common.logback.RequestContextExportingAppenderlogback 配置导出。因此,我尝试在 log4j2.xml 中对其进行配置,但没有成功。有什么方法可以使用属性来设置%X{some_value}log4j2.xml 吗?或者是否可以将 ThreadContext(如 MDC)与 armeria 一起使用?

0 投票
1 回答
324 浏览

spring-boot - 使用“java -jar zipkin.jar”启动服务器时,如何在 localhost 以外的其他 IP 地址上运行 zipkin

确实看到了这个......但是我无法让它运行,无论我尝试过什么,我要么仍然在本地主机上,要么在 armeria bind 上出现异常(我有东西在:8080 上运行)和服务器崩溃......

简而言之,我尝试过的(Windows Server 2016,所以没有 Linux Docker 容器)无济于事。这些批处理文件命令的变体:

SET "SERVER_ADDRESS=xx.xx.xx.xx"
SET "ZIPKIN_HOST=xx.xx.xx.xx"
java -jar zipkin-server-2.23.2-exec.jar --armeria.ports[0].port=9411 --> armeria.ports[0].protocols[0]=http

在另一个 ip 上运行 Zipkin 应该很简单,但我正在战斗。你能帮我吗,也许我遗漏了一些绝对明显的东西......但这是一个很常见的场景,并且没有很好的记录。