Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/6189#discussion_r197070028 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/rest/RestClient.java --- @@ -212,6 +271,86 @@ public void shutdown(Time timeout) { executor); } + private interface RequestProcessor<T> { + T createRequest(HttpRequest request, ByteBuf jsonPayload) throws IOException; + + void writeRequest(T body, Channel channel) throws IOException; + } + + private static final class DefaultProcessor implements RequestProcessor<HttpRequest> { + + @Override + public HttpRequest createRequest(HttpRequest request, ByteBuf jsonPayload) throws IOException { + return request; + } + + @Override + public void writeRequest(HttpRequest body, Channel channel) throws IOException { + channel.writeAndFlush(body); + } + } + + private static final class MultipartProcessor implements RequestProcessor<HttpPostRequestEncoder> { --- End diff -- Rename to `MultipartRequest` which is initialized with a `HttpPostRequestEncoder` which it uses to write out the multi part request in the `writeRequest` implementation.
---