@Test
    public void proxyWithTrailersOnly() throws Throwable {
        final WebClient client = WebClient.of(frontendServer.httpUri());

        final AtomicBoolean complete = new AtomicBoolean();
        final AtomicReference<Throwable> error = new AtomicReference<>();

        client.get("/trailers-only").subscribe(new Subscriber<HttpObject>() {
            @Override
            public void onSubscribe(Subscription s) {
                s.request(Long.MAX_VALUE);
            }

            @Override
            public void onNext(HttpObject obj) {
                // No data frames.
                assertThat(obj).isInstanceOf(HttpHeaders.class);
                assertThat(obj.isEndOfStream()).isTrue();
            }

            @Override
            public void onError(Throwable t) {
                error.set(t);
                complete.set(true);
            }

            @Override
            public void onComplete() {
                complete.set(true);
            }
        });

        await().untilTrue(complete);
        final Throwable raisedError = error.get();
        if (raisedError != null) {
            throw raisedError;
        }
    }
Test for issues that may happen when doing simple proxying.
it/server/src/test/java/com/linecorp/armeria/server/http/HttpProxyIntegrationTest.java