You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Jeremy Glesner <je...@bericotechnologies.com> on 2015/10/09 17:01:00 UTC

Request Signature, Content Dispositioning, and RequestAuthorizeSignature

Hello,

We have gotten our first jclouds/S3 app up and running using a combination
of the general and provider specific APIs.  I have a question about blob
signatures that I hope someone might be able to help me with.

I'm familiar with the standard method for getting a blob request signature:

    signer = context.getSigner();
    request = signer.signGetBlob(bucket, key);

This produces a standard HttpRequest object with method, endpoint, and
headers: date and authorization.  However, on an object where I've defined
a content disposition (via BaseMutableContentMetadata and the
setContentDisposition on payload.setContentMetadata()), I was hoping that
the signature would (or could be made to) include the
"response-content-disposition=attachment; filename=" in the HttpRequest
response.  However, I don't see a way to do this.

I did find the RequestAuthorizeSignature class which provides methods that
would allow me to build the HttpRequest myself, adding the
response-content-disposition, and to sign that request appropriately in
order to build the authorization.  However, RequestAuthorizeSignature looks
to be an internal class and not something that I can readily use.

What is the appropriate way in jclouds to incorporate the
response-content-disposition in a blob request signature so that when a
non-java client retrieves the resource, it will download with the provided
file name?

V/r,

Jeremy

Re: Request Signature, Content Dispositioning, and RequestAuthorizeSignature

Posted by Andrew Gaul <ga...@apache.org>.
Unfortunately jclouds does not support content disposition or type in
signed requests presently.  Another user opened an issue tracking this:

https://issues.apache.org/jira/browse/JCLOUDS-1016

This is a relatively easy feature to add; would either you or Halvdan
like to investigate this further?

On Fri, Oct 09, 2015 at 11:01:00AM -0400, Jeremy Glesner wrote:
> Hello,
> 
> We have gotten our first jclouds/S3 app up and running using a combination
> of the general and provider specific APIs.  I have a question about blob
> signatures that I hope someone might be able to help me with.
> 
> I'm familiar with the standard method for getting a blob request signature:
> 
>     signer = context.getSigner();
>     request = signer.signGetBlob(bucket, key);
> 
> This produces a standard HttpRequest object with method, endpoint, and
> headers: date and authorization.  However, on an object where I've defined
> a content disposition (via BaseMutableContentMetadata and the
> setContentDisposition on payload.setContentMetadata()), I was hoping that
> the signature would (or could be made to) include the
> "response-content-disposition=attachment; filename=" in the HttpRequest
> response.  However, I don't see a way to do this.
> 
> I did find the RequestAuthorizeSignature class which provides methods that
> would allow me to build the HttpRequest myself, adding the
> response-content-disposition, and to sign that request appropriately in
> order to build the authorization.  However, RequestAuthorizeSignature looks
> to be an internal class and not something that I can readily use.
> 
> What is the appropriate way in jclouds to incorporate the
> response-content-disposition in a blob request signature so that when a
> non-java client retrieves the resource, it will download with the provided
> file name?
> 
> V/r,
> 
> Jeremy

-- 
Andrew Gaul
http://gaul.org/