private static HttpRequest toArmeriaRequest(StandardHttpRequest request) {
        final HttpRequestBuilder requestBuilder =
                HttpRequest.builder()
                           .method(HttpMethod.valueOf(request.method()))
                           .path(request.uri().toString());

        if (request.isExpectContinue()) {
            // Set `Expect: 100-continue` header to the request headers when it is supported by Armeria.
            // https://github.com/line/armeria/issues/5394
        }

        for (Map.Entry<String, List<String>> entry : request.headers().entrySet()) {
            final String headerName = entry.getKey();
            for (String headerValue : entry.getValue()) {
                requestBuilder.header(headerName, headerValue);
            }
        }
        MediaType contentType = null;
        if (request.getContentType() != null) {
            contentType = MediaType.parse(request.getContentType());
        }

        final StandardHttpRequest.BodyContent body = request.body();
        if (body != null) {
            if (body instanceof StandardHttpRequest.StringBodyContent) {
                if (contentType == null) {
                    contentType = MediaType.PLAIN_TEXT_UTF_8;
                }
                requestBuilder.content(contentType,
                                       ((StandardHttpRequest.StringBodyContent) body).getContent());
            } else if (body instanceof StandardHttpRequest.ByteArrayBodyContent) {
                if (contentType == null) {
                    contentType = MediaType.OCTET_STREAM;
                }
                final byte[] content = ((StandardHttpRequest.ByteArrayBodyContent) body).getContent();
                requestBuilder.content(contentType, HttpData.wrap(content));
            } else if (body instanceof StandardHttpRequest.InputStreamBodyContent) {
                if (contentType == null) {
                    contentType = MediaType.OCTET_STREAM;
                }
                final StandardHttpRequest.InputStreamBodyContent bodyContent =
                        (StandardHttpRequest.InputStreamBodyContent) body;
                requestBuilder.content(contentType, StreamMessage.of(bodyContent.getContent()));
            } else {
                throw new IllegalArgumentException("Unsupported body content");
            }
        }
        return requestBuilder.build();
    }
Armeria based implementation of {@link StandardHttpClient}.
kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/ArmeriaHttpClient.java