Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6189#discussion_r197217551
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/rest/RestClient.java ---
    @@ -239,6 +322,45 @@ public void shutdown(Time timeout) {
                return responseFuture;
        }
     
    +   private interface Request {
    +           void writeTo(Channel channel) throws IOException;
    +   }
    +
    +   private static final class SimpleRequest implements Request {
    +           private final HttpRequest httpRequest;
    +
    +           SimpleRequest(HttpRequest httpRequest) {
    +                   this.httpRequest = httpRequest;
    +           }
    +
    +           @Override
    +           public void writeTo(Channel channel) {
    +                   channel.writeAndFlush(httpRequest);
    +           }
    +   }
    +
    +   private static final class MultipartRequest implements Request {
    +           private final HttpRequest httpRequest;
    +           private final HttpPostRequestEncoder bodyRequestEncoder;
    +
    +           MultipartRequest(HttpRequest httpRequest, 
HttpPostRequestEncoder bodyRequestEncoder) {
    +                   this.httpRequest = httpRequest;
    +                   this.bodyRequestEncoder = bodyRequestEncoder;
    +           }
    +
    +           @Override
    +           public void writeTo(Channel channel) {
    +                   channel.writeAndFlush(httpRequest);
    +                   // this should never be false as we explicitly set the 
encoder to use multipart messages
    +                   if (bodyRequestEncoder.isChunked()) {
    +                           channel.writeAndFlush(bodyRequestEncoder);
    +                   }
    +
    +                   // release data and remove temporary files if they were 
created
    +                   bodyRequestEncoder.cleanFiles();
    +           }
    +   }
    --- End diff --
    
    Nice, this looks now really sleek 👍 


---

Reply via email to