@Test
    void contentPreviewIsDecodedInPreviewer() {
        final BlockingWebClient client = WebClient.builder(server.httpUri())
                                                  .decorator(decodingContentPreviewDecorator())
                                                  .decorator(DecodingClient.newDecorator())
                                                  .build()
                                                  .blocking();
        final RequestHeaders headers = RequestHeaders.of(HttpMethod.POST, "/",
                                                         HttpHeaderNames.CONTENT_TYPE,
                                                         MediaType.PLAIN_TEXT_UTF_8);

        try (ClientRequestContextCaptor captor = Clients.newContextCaptor()) {
            final AggregatedHttpResponse res = client.execute(headers, "Armeria");

            final RequestLog requestLog = captor.get().log().whenComplete().join();
            assertThat(requestLog.requestContentPreview()).isEqualTo("Armeria");
            assertThat(requestLog.responseContentPreview()).isEqualTo("Hello Armeria!");
            assertThat(requestLog.responseHeaders().get(HttpHeaderNames.CONTENT_ENCODING))
                    .isEqualTo(Brotli.isAvailable() ? "br" : "gzip");

            assertThat(res.contentUtf8()).isEqualTo("Hello Armeria!");
        }
    }
Unlike {@link #decodedContentPreview()}, the content preview of this test is encoded data because
the previewing decorator is inserted before {@link DecodingClient}.
core/src/test/java/com/linecorp/armeria/client/logging/ContentPreviewingClientTest.java