Ferenc Gerlits created MINIFICPP-1971:
-----------------------------------------

             Summary: Clean up code related to HTTPUploadCallback
                 Key: MINIFICPP-1971
                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1971
             Project: Apache NiFi MiNiFi C++
          Issue Type: Improvement
    Affects Versions: 0.13.0
            Reporter: Ferenc Gerlits


{{HTTPUploadCallback}} and related classes are a mess.  Some problems:
* review uses of {{seek_callback}} (set as {{CURLOPT_SEEKFUNCTION}}); when does 
{{curl}} call this?  if {{curl}} needs this (for handling of network errors, 
maybe?), we should support it better;
* in {{HTTPUploadByteArrayInputCallback::setPosition()}}, the {{getBufferSize() 
<= static_cast<size_t>(offset)}} check should probably be changed to 
{{getBufferSize() < static_cast<size_t>(offset)}}, since seeking to the end of 
the data is valid;
* {{HTTPUploadByteArrayInputCallback}} and {{HttpStreamingCallback}} are both 
callbacks for {{ProcessSession::read}} and for {{curl}}, which is confusing.  
Since both of these store the data to be uploaded in memory, their constructor 
could take the data in e.g. a vector, and reading the flow file could be done 
separately and in a simpler way;
* there is a lot of code related to stopping and closing; are these 
useful/necessary?
* is the multi-threading code in {{HttpStreamingCallback}} necessary, and if it 
is, could it be done simpler?
* could/should most (all?) usages of {{HTTPUploadByteArrayInputCallback}} be 
replaced by {{HTTPUploadStreamContentsCallback}}?
* etc



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to