com.baidubce.services.bos.model
Class GeneratePresignedUrlRequest

java.lang.Object
  extended by com.baidubce.model.AbstractBceRequest
      extended by com.baidubce.services.bos.model.GeneratePresignedUrlRequest

public class GeneratePresignedUrlRequest
extends AbstractBceRequest

Contains options to generate a pre-signed URL for an Baidu BOS resource.

Pre-signed URLs allow clients to form a URL for an Baidu BOS resource and sign it with the current BCE security credentials. A pre-signed URL may be passed around for other users to access the resource without providing them access to an account's BCE security credentials.


Constructor Summary
GeneratePresignedUrlRequest(String bucketName, String key)
          Creates a new request for generating a pre-signed URL that can be used as part of an HTTP GET request to access the BOS object stored under the specified key in the specified bucket.
GeneratePresignedUrlRequest(String bucketName, String key, HttpMethodName method)
          Creates a new request for generating a pre-signed URL that can be used as part of an HTTP request to access the specified BOS resource.
 
Method Summary
 void addRequestHeaders(String key, String value)
          Adds an additional request header to be included in the pre-signed URL.
 void addRequestParameter(String key, String value)
          Adds an additional request parameter to be included in the pre-signed URL.
 String getBucketName()
          Returns the name of the bucket involved in this request.
 String getContentMd5()
          Gets the expected content-md5 header of the request.
 String getContentType()
          Gets the expected content-type of the request.
 int getExpiration()
          The expiration after which point the new pre-signed URL will no longer be accepted by BOS.
 String getKey()
          Returns the key of the object involved in this request.
 HttpMethodName getMethod()
          The HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.
 Map<String,String> getRequestHeaders()
          Returns the complete map of additional request headers to be included in the pre-signed URL.
 Map<String,String> getRequestParameters()
          Returns the complete map of additional request parameters to be included in the pre-signed URL.
 ResponseHeaderOverrides getResponseHeaders()
          Returns the headers to be overridden in the service response.
 void setBucketName(String bucketName)
          Sets the name of the bucket involved in this request.
 void setContentMd5(String contentMd5)
          Sets the expected content-md5 header of the request.
 void setContentType(String contentType)
          Sets the expected content-type of the request.
 void setExpiration(int expirationInSeconds)
          Sets the expiration after which point the new pre-signed URL will no longer be accepted by BOS.
 void setKey(String key)
          Sets the key of the object involved in this request.
 void setMethod(HttpMethodName method)
          Sets the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.
 void setResponseHeaders(ResponseHeaderOverrides responseHeaders)
          Sets the headers to be overridden in the service response.
 GeneratePresignedUrlRequest withBucketName(String bucketName)
          Sets the name of the bucket involved in this request, and returns this request object to enable additional method calls to be chained together.
 GeneratePresignedUrlRequest withContentMd5(String contentMd5)
          Sets the expected content-md5 header of the request and returns this object, for method chaining.
 GeneratePresignedUrlRequest withContentType(String contentType)
          Sets the expected content-type of the request and returns this object, for method chaining.
 GeneratePresignedUrlRequest withExpiration(int expirationInSeconds)
          Sets the expiration after which point the new pre-signed URL will no longer be accepted by BOS, and returns this request object to enable additional method calls to be chained together.
 GeneratePresignedUrlRequest withKey(String key)
          Sets the key of the object involved in this request, and returns this request object to enable additional method calls to be chained together.
 GeneratePresignedUrlRequest withMethod(HttpMethodName method)
          Sets the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request, and returns this request object to enable additional method calls to be chained together.
 GeneratePresignedUrlRequest withRequestCredentials(BceCredentials credentials)
           
 GeneratePresignedUrlRequest withResponseHeaders(ResponseHeaderOverrides responseHeaders)
          Sets the headers to be overridden in the service response and returns this object, for method chaining.
 
Methods inherited from class com.baidubce.model.AbstractBceRequest
getRequestCredentials, setRequestCredentials
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeneratePresignedUrlRequest

public GeneratePresignedUrlRequest(String bucketName,
                                   String key)
Creates a new request for generating a pre-signed URL that can be used as part of an HTTP GET request to access the BOS object stored under the specified key in the specified bucket.

Parameters:
bucketName - The name of the bucket containing the desired BOS object.
key - The key under which the desired BOS object is stored.

GeneratePresignedUrlRequest

public GeneratePresignedUrlRequest(String bucketName,
                                   String key,
                                   HttpMethodName method)
Creates a new request for generating a pre-signed URL that can be used as part of an HTTP request to access the specified BOS resource.

When specifying an HTTP method, you must send the pre-signed URL with the same HTTP method in order to successfully use the pre-signed URL.

Parameters:
bucketName - The name of the BOS bucket involved in the operation.
key - The key of the BOS object involved in the operation.
method - The HTTP method (GET, PUT, DELETE, HEAD) to be used in the request when the pre-signed URL is used.
Method Detail

getMethod

public HttpMethodName getMethod()
The HTTP method (GET, PUT, DELETE, HEAD) to be used in this request. The same HTTP method must be used in the request when the pre-signed URL is used.

Returns:
The HTTP method (GET, PUT, DELETE, HEAD) to be used in this request and when the pre-signed URL is used.

setMethod

public void setMethod(HttpMethodName method)
Sets the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request. The same HTTP method must be used in the request when the pre-signed URL is used.

Parameters:
method - The HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.

withMethod

public GeneratePresignedUrlRequest withMethod(HttpMethodName method)
Sets the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request, and returns this request object to enable additional method calls to be chained together.

The same HTTP method must be used in the request when the pre-signed URL is used.

Parameters:
method - The HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.
Returns:
The updated request object, so that additional method calls can be chained together.

getBucketName

public String getBucketName()
Returns the name of the bucket involved in this request.

Returns:
the name of the bucket involved in this request.

setBucketName

public void setBucketName(String bucketName)
Sets the name of the bucket involved in this request.

Parameters:
bucketName - the name of the bucket involved in this request.

withBucketName

public GeneratePresignedUrlRequest withBucketName(String bucketName)
Sets the name of the bucket involved in this request, and returns this request object to enable additional method calls to be chained together.

Parameters:
bucketName - the name of the bucket involved in this request.
Returns:
The updated request object, so that additional method calls can be chained together.

getKey

public String getKey()
Returns the key of the object involved in this request.

Returns:
The key of the object involved in this request.

setKey

public void setKey(String key)
Sets the key of the object involved in this request.

Parameters:
key - the key of the object involved in this request.

withKey

public GeneratePresignedUrlRequest withKey(String key)
Sets the key of the object involved in this request, and returns this request object to enable additional method calls to be chained together.

Parameters:
key - the key of the object involved in this request.
Returns:
The updated request object, so that additional method calls can be chained together.

getExpiration

public int getExpiration()
The expiration after which point the new pre-signed URL will no longer be accepted by BOS. If not specified, a default value will be supplied.

Returns:
The expiration date at which point the new pre-signed URL will no longer be accepted by BOS.

setExpiration

public void setExpiration(int expirationInSeconds)
Sets the expiration after which point the new pre-signed URL will no longer be accepted by BOS. If not specified, a default value will be supplied.

Parameters:
expirationInSeconds - The expiration after which point the new pre-signed URL will no longer be accepted by BOS.

withExpiration

public GeneratePresignedUrlRequest withExpiration(int expirationInSeconds)
Sets the expiration after which point the new pre-signed URL will no longer be accepted by BOS, and returns this request object to enable additional method calls to be chained together.

If not specified, a default value will be supplied.

Parameters:
expirationInSeconds - The expiration after which point the new pre-signed URL will no longer be accepted by BOS.
Returns:
The updated request object, so that additional method calls can be chained together.

addRequestParameter

public void addRequestParameter(String key,
                                String value)
Adds an additional request parameter to be included in the pre-signed URL. Adding additional request parameters enables more advanced pre-signed URLs, such as accessing BOS's torrent resource for an object, or for specifying a version ID when accessing an object.

Parameters:
key - The name of the request parameter, as it appears in the URL's query string.
value - The (optional) value of the request parameter being added.

getRequestParameters

public Map<String,String> getRequestParameters()
Returns the complete map of additional request parameters to be included in the pre-signed URL.

Returns:
The complete map of additional request parameters to be included in the pre-signed URL.

getResponseHeaders

public ResponseHeaderOverrides getResponseHeaders()
Returns the headers to be overridden in the service response.

Returns:
the headers to be overridden in the service response.

setResponseHeaders

public void setResponseHeaders(ResponseHeaderOverrides responseHeaders)
Sets the headers to be overridden in the service response.

Parameters:
responseHeaders - The headers to be overridden in the service response.

withResponseHeaders

public GeneratePresignedUrlRequest withResponseHeaders(ResponseHeaderOverrides responseHeaders)
Sets the headers to be overridden in the service response and returns this object, for method chaining.

Parameters:
responseHeaders - The headers to be overridden in the service response.
Returns:
This GeneratePresignedUrlRequest for method chaining.

addRequestHeaders

public void addRequestHeaders(String key,
                              String value)
Adds an additional request header to be included in the pre-signed URL.

Parameters:
key - The name of the request header, as it appears in the URL's header.
value - The (optional) value of the request header being added.

getRequestHeaders

public Map<String,String> getRequestHeaders()
Returns the complete map of additional request headers to be included in the pre-signed URL.

Returns:
The complete map of additional request headers to be included in the pre-signed URL.

getContentType

public String getContentType()
Gets the expected content-type of the request. The content-type is included in the signature.

Returns:
The expected content-type

setContentType

public void setContentType(String contentType)
Sets the expected content-type of the request. The content-type is included in the signature.

Parameters:
contentType - The expected content-type

withContentType

public GeneratePresignedUrlRequest withContentType(String contentType)
Sets the expected content-type of the request and returns this object, for method chaining.

Parameters:
contentType - The expected content-type
Returns:
This GeneratePresignedUrlRequest for method chaining.

getContentMd5

public String getContentMd5()
Gets the expected content-md5 header of the request. This header value will be included when calculating the signature, and future requests must include the same content-md5 header value to access the presigned URL.

Returns:
The expected content-md5 header value.

setContentMd5

public void setContentMd5(String contentMd5)
Sets the expected content-md5 header of the request. This header value will be included when calculating the signature, and future requests must include the same content-md5 header value to access the presigned URL.

Parameters:
contentMd5 - The expected content-md5 header value.

withContentMd5

public GeneratePresignedUrlRequest withContentMd5(String contentMd5)
Sets the expected content-md5 header of the request and returns this object, for method chaining.

Parameters:
contentMd5 - The expected content-md5 header value.
Returns:
This GeneratePresignedUrlRequest for method chaining.

withRequestCredentials

public GeneratePresignedUrlRequest withRequestCredentials(BceCredentials credentials)
Specified by:
withRequestCredentials in class AbstractBceRequest


Copyright © 2018. All rights reserved.