问题标签 [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.
armeria - Armeria HTTP 客户端 - 如何添加查询字符串参数
我搜索了一下,但找不到“Armeria API”来优雅地做到这一点。我对 Netty 很熟悉,所以目前我正在使用QueryStringEncoder
. 有一个更好的方法吗 ?在这里,我有一个动态Map
参数,我需要以编程方式构建 HTTP 客户端。ArmeriaWebClient
和RequestHeaders
builder 提供了添加标题和路径的方法,但不提供查询字符串参数。
armeria - 如何将 ServiceRequestContext 传播到我的自定义线程池
我有一个场景,它处理 armeria 请求,并将一些事件发送到guava
's EventBus
。问题是我在 EventBus 处理程序中处理事件时丢失了上下文。我想知道有没有办法让事件处理器访问ServiceRequestContext
。
注册事件处理程序。
这是我的Armeria
服务
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.
armeria - 禁止特定的 http 方法
与https://github.com/openzipkin/zipkin/pull/3239相关,我们遇到了一些(可能)奇怪的行为,我想知道下面的测试是否按预期工作:
基本上我们想禁用所有TRACE
请求,并设置pathPrefix("/")
来实现这一点。但是由于某种原因,OPTIONS
调用/something
被困在同一条路径中。如果我删除路线装饰器,事情会按预期工作。
armeria - Armeria grpc 客户端:如何为不同的 grpc 方法设置不同的重试行为
我正在使用 Armeria grpc 客户端,如下所示:
这会在所有传出请求中强制执行此重试行为。
有没有办法为目标服务提供的每个 grpc 方法提供不同的重试参数?
netty - HTTP 到 HTTPS 代理 CONNECT 处理 - 将代码从 Netty 移植到 Armeria
我有一些当前在 Netty 中工作的代码,它充当 HTTPS 代理服务器,因此我们处理一个CONNECT
方法并将一个 SSL 处理程序动态添加到管道中:
我正在将整个事情移植到 Armeria,并希望得到一些关于如何解决这个问题的提示。我使用以下方法使非 SSL 流程正常工作:
任何提示将不胜感激!
armeria - 将每个请求响应延迟添加到自定义 HttpService 的正确方法
这是我目前的实现HttpService.serve()
我有一个用户定义的响应延迟,它可能因每个单独的请求响应而异,这在myResponse
对象中可用。
以非阻塞方式应用此延迟的最佳方法是什么,我可以看到一些delay
API-s 但它们在HttpResponse
. 任何有关流式 API 设计或装饰器的额外提示或指针都会有所帮助。我真的从 Armeria 代码库中学到了很多东西 :)
exception - 有没有办法在 armeria 中为 grpc 服务使用丰富的错误模型?
我将 Armeria 1.3.0 和 protobuf 用于 gRPC 服务。我在处理异常时尝试使用丰富的错误模型,但我认为 Armeria 似乎只支持标准错误模型。
如何在 Armeria 中使用丰富的错误模型?我想在发生异常时返回自定义错误代码/消息以及有关错误的更多详细信息。
提前感谢您的回答。
log4j2 - 如何在 log4j2.xml 配置中使用 armeria 的 RequestContext 自定义属性?
我正在log4j2 2.14.0
使用armeria 1.3.0
. 根据 armeria 文档,我可以看到RequestContext custom atrributes
可以使用com.linecorp.armeria.common.logback.RequestContextExportingAppender
logback 配置导出。因此,我尝试在 log4j2.xml 中对其进行配置,但没有成功。有什么方法可以使用属性来设置%X{some_value}
log4j2.xml 吗?或者是否可以将 ThreadContext(如 MDC)与 armeria 一起使用?
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 应该很简单,但我正在战斗。你能帮我吗,也许我遗漏了一些绝对明显的东西......但这是一个很常见的场景,并且没有很好的记录。