@ParameterizedTest
    @EnumSource(value = SessionProtocol.class, names = { "H1C", "H2C" })
    void sendingResponseOnDisconnectedConnection(SessionProtocol protocol) {
        capturedException.set(null);
        // Send a request that doesn't time out until the client gives up.
        // The client will give up quickly and disconnect.
        final String uri = protocol.uriText() + "://127.0.0.1:" + server.httpPort() +
                           "/timeout/" + Integer.MAX_VALUE;
        assertThatThrownBy(() -> {
            WebClient.of()
                     .prepare()
                     .get(uri)
                     .responseTimeoutMillis(1)
                     .execute()
                     .aggregate()
                     .join();
        }).isInstanceOf(CompletionException.class)
          .hasCauseInstanceOf(ResponseTimeoutException.class);

        // No exception should be raised when a Jetty handler writes something after timeout.
        await().untilAsserted(() -> assertThat(capturedException).hasValue(NO_EXCEPTION));
    }
An {@link IOException} or {@link EofException} should be raised if a handler closed
its {@code ServletOutputStream} and then tries to write something to it.
jetty/jetty11/src/test/java/com/linecorp/armeria/server/jetty/JettyServiceTest.java