public class RestUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
static List<String> |
HTTP_HEADER_METADATA_NAMES
A list of HTTP-specific header names, that may be present in S3Objects as metadata but
which should be treated as plain HTTP headers during transmission (ie not converted into
S3 Object metadata items).
|
| Constructor and Description |
|---|
RestUtils() |
| Modifier and Type | Method and Description |
|---|---|
static Map<String,String> |
convertHeadersToMap(org.apache.commons.httpclient.Header[] headers) |
static String |
encodeUrlPath(String path,
String delimiter)
Encodes a URL string but leaves a delimiter string unencoded.
|
static String |
encodeUrlString(String path)
Encodes a URL string, and ensures that spaces are encoded as "%20" instead of "+" to keep
fussy web browsers happier.
|
static long |
getAWSTimeAdjustment()
Calculates a time offset value to reflect the time difference between your
computer's clock and the current time according to an AWS server, and
returns the calculated time difference.
|
static HttpClientAndConnectionManager |
initHttpConnection(AWSRequestAuthorizer awsRequestAuthorizer,
org.apache.commons.httpclient.HostConfiguration hostConfig,
Jets3tProperties jets3tProperties,
String userAgentDescription,
org.apache.commons.httpclient.auth.CredentialsProvider credentialsProvider)
Initialises, or re-initialises, the underlying HttpConnectionManager and
HttpClient objects a service will use to communicate with an AWS service.
|
static void |
initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties)
Initialises this service's HTTP proxy by auto-detecting the proxy settings.
|
static void |
initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
boolean proxyAutodetect,
String proxyHostAddress,
int proxyPort,
String proxyUser,
String proxyPassword,
String proxyDomain) |
static void |
initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
boolean proxyAutodetect,
String proxyHostAddress,
int proxyPort,
String proxyUser,
String proxyPassword,
String proxyDomain,
String endpoint) |
static void |
initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
String endpoint)
Initialises this service's HTTP proxy by auto-detecting the proxy settings using the given endpoint.
|
static void |
initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
String proxyHostAddress,
int proxyPort,
String proxyUser,
String proxyPassword,
String proxyDomain)
Initialises this service's HTTP proxy for authentication using the given
proxy settings.
|
static void |
initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
String proxyHostAddress,
int proxyPort,
Jets3tProperties jets3tProperties)
Initialises this service's HTTP proxy with the given proxy settings.
|
static String |
makeServiceCanonicalString(String method,
String resource,
Map<String,Object> headersMap,
String expires,
String headerPrefix,
List<String> serviceResourceParameterNames)
Calculate the canonical string for a REST/HTTP request to a storage service.
|
public static final List<String> HTTP_HEADER_METADATA_NAMES
This list includes the items:
| Unchanged metadata names |
|---|
| content-type |
| content-md5 |
| content-length |
| content-language |
| expires |
| cache-control |
| content-disposition |
| content-encoding |
public static String encodeUrlString(String path) throws ServiceException
path - ServiceExceptionpublic static String encodeUrlPath(String path, String delimiter) throws ServiceException
path - delimiter - ServiceExceptionpublic static String makeServiceCanonicalString(String method, String resource, Map<String,Object> headersMap, String expires, String headerPrefix, List<String> serviceResourceParameterNames) throws UnsupportedEncodingException
UnsupportedEncodingExceptionpublic static HttpClientAndConnectionManager initHttpConnection(AWSRequestAuthorizer awsRequestAuthorizer, org.apache.commons.httpclient.HostConfiguration hostConfig, Jets3tProperties jets3tProperties, String userAgentDescription, org.apache.commons.httpclient.auth.CredentialsProvider credentialsProvider)
Jets3tProperties object,
these settings will also be passed on to the underlying objects.hostConfig - Custom HTTP host configuration; e.g to register a custom Protocol Socket Factory.
This parameter may be null, in which case a default host configuration will be
used.public static void initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties)
public static void initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
String endpoint)
public static void initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
String proxyHostAddress,
int proxyPort,
Jets3tProperties jets3tProperties)
proxyHostAddress - proxyPort - public static void initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
String proxyHostAddress,
int proxyPort,
String proxyUser,
String proxyPassword,
String proxyDomain)
proxyHostAddress - proxyPort - proxyUser - proxyPassword - proxyDomain - if a proxy domain is provided, an NTCredentials credential provider
will be used. If the proxy domain is null, a
UsernamePasswordCredentials credentials provider will be used.public static void initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
boolean proxyAutodetect,
String proxyHostAddress,
int proxyPort,
String proxyUser,
String proxyPassword,
String proxyDomain)
httpClient - proxyAutodetect - proxyHostAddress - proxyPort - proxyUser - proxyPassword - proxyDomain - public static void initHttpProxy(org.apache.commons.httpclient.HttpClient httpClient,
Jets3tProperties jets3tProperties,
boolean proxyAutodetect,
String proxyHostAddress,
int proxyPort,
String proxyUser,
String proxyPassword,
String proxyDomain,
String endpoint)
httpClient - proxyAutodetect - proxyHostAddress - proxyPort - proxyUser - proxyPassword - proxyDomain - endpoint - public static long getAWSTimeAdjustment()
throws Exception
Exception