minux
minux
Motivation: When an HTTP/1.1 304(Not Modified) response is sent, `Transfer-Encoding: chunked` header cannot be sent because the content of the response is always empty. https://datatracker.ietf.org/doc/html/rfc7232#section-4.1 ``` A 304 response cannot...
Motivation: - We use `idleTimeout` value to set the HTTP/2 graceful shutdown timeout on the client side. However, it's not set correctly. - We try to set the value here:...
``` org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a com.linecorp.armeria.internal.common.Http2KeepAliveHandlerTest expected: PENDING_PING_ACK but was: SHUTDOWN within 10 seconds. at app//org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167) at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119) at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31) at app//org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985) at app//org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:769) at app//com.linecorp.armeria.internal.common.Http2KeepAliveHandlerTest.verifyPingAck(Http2KeepAliveHandlerTest.java:94) at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native...
``` SuspendingAnnotatedServiceTest > test_blockingAnnotation() FAILED org.opentest4j.AssertionFailedError: expected: 200 but was: 500 at [email protected]/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at [email protected]/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at [email protected]/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at [email protected]/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at app//com.linecorp.armeria.server.kotlin.SuspendingAnnotatedServiceTest.test_blockingAnnotation(SuspendingAnnotatedServiceTest.kt:117) ```
Motivation: It would be nice if we can provide a service that supports [The WebSocket Protocol](https://datatracker.ietf.org/doc/html/rfc6455) Modifications: - Add `WebSocketService` and `WebSocketHandler` to implement the service using back pressure. -...
This is an example stack trace of a `CompositeException`: ``` com.linecorp.armeria.common.util.CompositeException: 2 exceptions occurred. at com.linecorp.armeria.common.stream.AbstractStreamMessage$CloseEvent.notifySubscriber(AbstractStreamMessage.java:273) at com.linecorp.armeria.common.stream.DefaultStreamMessage.notifySubscriberOfCloseEvent0(DefaultStreamMessage.java:300) at com.linecorp.armeria.common.stream.DefaultStreamMessage.lambda$notifySubscriberOfCloseEvent$3(DefaultStreamMessage.java:294) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:391) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)...
Such as https://start.spring.io/, so a user can easily start building the application using Armeria.
Let's look at the following example: ```java 1: ServerBuilder sb = ... 2: sb.annotatedService() 3: .decorator(delegate -> (ctx, req) -> { 4: return delegate.serve(ctx, req).mapHeaders(headers -> { 5: System.err.println("This isn't...
Currently, we support Spring and WebFlux integration that switches the networking layers of the Spring server and client to Armeria. I'm wondering if there are any demands for Spring Cloud...
Thanks to @ta7uw, we can use decorator annotation to decorate gRPC services. #4041 It would be also very useful if we can use the annotation in Thrift services.