void handle100Continue(ResponseHeaders responseHeaders) {
        if (state != State.NEEDS_100_CONTINUE) {
            return;
        }

        if (responseHeaders.status() == HttpStatus.CONTINUE) {
            state = State.NEEDS_DATA_OR_TRAILERS;
            resume();
            // TODO(minwoox): reset the timeout
        } else {
            // We do not retry the request when HttpStatus.EXPECTATION_FAILED is received
            // because:
            // - Most servers support 100-continue.
            // - It's much simpler to just fail the request and let the user retry.
            state = State.DONE;
            logBuilder.endRequest();
            discardRequestBody();
        }
    }
Writes the {@link RequestHeaders} to the {@link Channel}.
The {@link RequestHeaders} is merged with {@link ClientRequestContext#additionalRequestHeaders()}
before being written.
Note that the written data is not flushed by this method. The caller should explicitly call
{@link Channel#flush()} when each write unit is done.
core/src/main/java/com/linecorp/armeria/client/AbstractHttpRequestHandler.java