Package org.jclouds.s3.blobstore
Class S3BlobRequestSigner<T extends S3Client>
- java.lang.Object
-
- org.jclouds.s3.blobstore.S3BlobRequestSigner<T>
-
- All Implemented Interfaces:
BlobRequestSigner
- Direct Known Subclasses:
AWSS3BlobRequestSignerV4
@Singleton public class S3BlobRequestSigner<T extends S3Client> extends Object implements BlobRequestSigner
-
-
Field Summary
Fields Modifier and Type Field Description protected BlobToHttpGetOptions
blob2HttpGetOptions
protected BlobToObject
blobToObject
protected com.google.common.reflect.Invokable<?,?>
createMethod
protected com.google.common.reflect.Invokable<?,?>
deleteMethod
protected com.google.common.reflect.Invokable<?,?>
getMethod
protected RestAnnotationProcessor
processor
-
Constructor Summary
Constructors Constructor Description S3BlobRequestSigner(RestAnnotationProcessor processor, BlobToObject blobToObject, BlobToHttpGetOptions blob2HttpGetOptions, Class<T> interfaceClass, RequestAuthorizeSignature authSigner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpRequest
signGetBlob(String container, String name)
gets a signed request, including headers as necessary, to access a blob from an external client.HttpRequest
signGetBlob(String container, String name, long timeInSeconds)
gets a signed request, including headers as necessary, to allow access to a blob from an external client for a limited period of timeHttpRequest
signGetBlob(String container, String name, GetOptions options)
HttpRequest
signPutBlob(String container, Blob blob)
gets a signed request, including headers as necessary, to upload a blob from an external client.HttpRequest
signPutBlob(String container, Blob blob, long timeInSeconds)
gets a signed request, including headers as necessary, to upload a blob from an external client for a limited period of time
-
-
-
Field Detail
-
processor
protected final RestAnnotationProcessor processor
-
blobToObject
protected final BlobToObject blobToObject
-
blob2HttpGetOptions
protected final BlobToHttpGetOptions blob2HttpGetOptions
-
getMethod
protected final com.google.common.reflect.Invokable<?,?> getMethod
-
deleteMethod
protected final com.google.common.reflect.Invokable<?,?> deleteMethod
-
createMethod
protected final com.google.common.reflect.Invokable<?,?> createMethod
-
-
Constructor Detail
-
S3BlobRequestSigner
@Inject public S3BlobRequestSigner(RestAnnotationProcessor processor, BlobToObject blobToObject, BlobToHttpGetOptions blob2HttpGetOptions, Class<T> interfaceClass, RequestAuthorizeSignature authSigner) throws SecurityException, NoSuchMethodException
-
-
Method Detail
-
signGetBlob
public HttpRequest signGetBlob(String container, String name)
Description copied from interface:BlobRequestSigner
gets a signed request, including headers as necessary, to access a blob from an external client.- Specified by:
signGetBlob
in interfaceBlobRequestSigner
- Parameters:
container
- container where the blob resides
-
signGetBlob
public HttpRequest signGetBlob(String container, String name, long timeInSeconds)
Description copied from interface:BlobRequestSigner
gets a signed request, including headers as necessary, to allow access to a blob from an external client for a limited period of time- Specified by:
signGetBlob
in interfaceBlobRequestSigner
timeInSeconds
- validity time in seconds for the generated request- See Also:
BlobRequestSigner.signGetBlob(String, String)
-
signPutBlob
public HttpRequest signPutBlob(String container, Blob blob)
Description copied from interface:BlobRequestSigner
gets a signed request, including headers as necessary, to upload a blob from an external client.Blob blob = context.getBlobStore.blobBuilder().name("name").forSigning().contentType("text/plain") .contentLength(length).build();
- Specified by:
signPutBlob
in interfaceBlobRequestSigner
- Parameters:
container
- container where the blob residesblob
- what to upload- See Also:
BlobBuilder#forSigning
-
signPutBlob
public HttpRequest signPutBlob(String container, Blob blob, long timeInSeconds)
Description copied from interface:BlobRequestSigner
gets a signed request, including headers as necessary, to upload a blob from an external client for a limited period of time- Specified by:
signPutBlob
in interfaceBlobRequestSigner
timeInSeconds
- validity time in seconds for the generated request- See Also:
BlobBuilder#forSigning
,BlobRequestSigner.signPutBlob(java.lang.String, org.jclouds.blobstore.domain.Blob)
-
signGetBlob
public HttpRequest signGetBlob(String container, String name, GetOptions options)
- Specified by:
signGetBlob
in interfaceBlobRequestSigner
- See Also:
BlobRequestSigner.signGetBlob(String, String)
-
-