## com.baidubce.services.bos.model
Class GeneratePresignedUrlRequest

    java.lang.Object
      com.baidubce.model.AbstractBceRequest
          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 © 2016. All rights reserved.