[ 
https://issues.apache.org/jira/browse/FLINK-9599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16517952#comment-16517952
 ] 

ASF GitHub Bot commented on FLINK-9599:
---------------------------------------

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

    https://github.com/apache/flink/pull/6178#discussion_r196701452
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/rest/FileUploadHandler.java
 ---
    @@ -116,5 +136,16 @@ private void reset() {
                currentHttpPostRequestDecoder.destroy();
                currentHttpPostRequestDecoder = null;
                currentHttpRequest = null;
    +           currentUploadDir = null;
    +           currentJsonPayload = null;
    +   }
    +
    +   public static Optional<byte[]> 
getMultipartJsonPayload(ChannelHandlerContext ctx) {
    +           return 
Optional.ofNullable(ctx.channel().attr(UPLOADED_JSON).get());
    +   }
    +
    +   public static FileUploads getMultipartFileUploads(ChannelHandlerContext 
ctx) {
    +           return 
Optional.ofNullable(ctx.channel().attr(UPLOADED_FILES).get())
    +                   .orElse(FileUploads.EMPTY);
    --- End diff --
    
    I think not much. My gut feeling is just that `FileUploads` can be 
simplified. Instead of having our own FileVisitor, we could simply call 
`FileUtils.deleteDirectory(uploadDirectory)`. And I think  this class has 
actually two responsibilities: Listing all files to make them accessible and 
storing the directories in which they reside to delete them afterwards.


> Implement generic mechanism to receive files via rest
> -----------------------------------------------------
>
>                 Key: FLINK-9599
>                 URL: https://issues.apache.org/jira/browse/FLINK-9599
>             Project: Flink
>          Issue Type: New Feature
>          Components: REST
>            Reporter: Chesnay Schepler
>            Assignee: Chesnay Schepler
>            Priority: Major
>             Fix For: 1.6.0
>
>
> As a prerequisite for a cleaner implementation of FLINK-9280 we should
>  * extend the RestClient to allow the upload of Files
>  * extend FileUploadHandler to accept mixed multi-part requests (json + files)
>  * generalize mechanism for accessing uploaded files in {{AbstractHandler}}
> Uploaded files can be forwarded to subsequent handlers as an attribute, 
> similar to the existing special case for the {{JarUploadHandler}}. The JSON 
> body can be forwarded by replacing the incoming http requests with a simple 
> {{DefaultFullHttpRequest}}.
> Uploaded files will be retrievable through the {{HandlerRequest}}.
> I'm not certain if/how we can document that a handler accepts files.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to