Hi Kiran,

I don't know why the MD5 hash is being re-computed, and it looks like
it is the only jclouds HTTP driver that does this. In fact, this was
discussed some time ago, and it was proven unnecessary:
https://s.apache.org/CPuh

I'd say it would be safe to apply the patch mentioned in the linked
thread. If you could try it and confirm it fixes your issue, I'd be
happy to appy it or to merge a pull request :)

@gaul, do you have any input on why could the Apache driver be doing this?

On 9 November 2017 at 11:54, Kiran Khopade <khop...@adobe.com.invalid> wrote:
> Hi,
>
> I'm generally just a lurker on this list but we use jclouds internally here 
> for various things. I was just trying to understand the implementation of 
> ApacheHCHttpCommandExecutorService. While doing so, I could not understand 
> following code snippet from 
> [drivers>apachehc]ApacheHCHttpCommandExecutorService.java->convert(HttpRequest
>  request) method. (Please refer the following code snippet, highlighted if 
> condition)
>
>
>    protected HttpUriRequest convert(HttpRequest request) throws IOException {
>    HttpUriRequest returnVal = apacheHCUtils.convertToApacheRequest(request);
>    if (request.getPayload() != null && 
> request.getPayload().getContentMetadata().getContentMD5() != null) {
>       String md5 = 
> base64().encode(ByteStreams2.hashAndClose(request.getPayload().openStream(), 
> md5()).asBytes());
>       returnVal.addHeader("Content-MD5", md5);
>    }
>
>    if (!returnVal.containsHeader(HttpHeaders.USER_AGENT)) {
>       returnVal.addHeader(HttpHeaders.USER_AGENT, userAgent);
>    }
>
>    return returnVal;
> }
>
> I have couple of queries on this if condition code -
>
>   1.  I Could not understand the purpose of generating MD5 hashcode of 
> payload, if it is already available in payload metadata.
>   2.  While generating md5 of payload in this heighlighted if condition 
> snippet, InputStream is consumed. And as it is consumed to generate MD5, 
> payload will be empty.
>
> Please put some lights on this. We are blocked on this.
>
> Thank You,
> Kiran
>
>

Reply via email to