/** Returns the endpoint as a URI. */ private URI toURI(String endpoint) throws IllegalArgumentException { return RuntimeHttpUtils.toUri(endpoint, clientConfiguration); }
httpClientParams, getUserAgent(config, null)); httpClientParams, getConnectionTimeout(config)); HttpConnectionParams.setSoTimeout( httpClientParams, getSocketTimeout(config));
/** * Loads a set of region metadata by downloading an XML file from the * given URI and parsing it. * * @param uri the uri of the XML file to parse * @param config configuration for the HTTP client to use to fetch the file * @throws IOException any error while reading data. */ public static RegionMetadata load (final URI uri, final ClientConfiguration config) throws IOException { return RegionMetadataParser.parse( RuntimeHttpUtils.fetchFile(uri, config)); }
/** * Sets a User-Agent for the specified request, taking into account any custom data. */ private void setUserAgent(Request<?> request) { RequestClientOptions opts = requestConfig.getRequestClientOptions(); if (opts != null) { request.addHeader(HEADER_USER_AGENT, RuntimeHttpUtils .getUserAgent(config, opts.getClientMarker(Marker.USER_AGENT))); } else { request.addHeader(HEADER_USER_AGENT, RuntimeHttpUtils.getUserAgent(config, null)); } }
@Test public void testconvertRequestToUrl() throws MalformedURLException { final Request<?> request = new DefaultRequest<Void>("Foo"); request.setContent(new ByteArrayInputStream("testcontent" .getBytes(StringUtils.UTF8))); request.addHeader("Host", "demo.us-east-1.amazonaws.com"); // HTTP header containing multiple spaces in a row. request.addHeader("x-amz-archive-description", "test test"); request.setResourcePath("/"); request.setEndpoint(URI.create("http://demo.us-east-1.amazonaws.com")); final Map<String, String> parameters = new HashMap<String, String>(); parameters.put("foo", "bar"); parameters.put("temple", "run"); request.setParameters(parameters); final RuntimeHttpUtils utils = new RuntimeHttpUtils(); Assert.assertEquals(new URL("http://demo.us-east-1.amazonaws.com/?foo=bar&temple=run"), RuntimeHttpUtils.convertRequestToUrl(request, true, false)); }
public URL presign(Request<?> request, Date expirationDate) { final Presigner presigner = (Presigner) signerProvider.getSigner(SignerProviderContext.builder() .withIsRedirect(false) .withRequest(request) .withUri(request.getEndpoint()) .build()); if (request.getOriginalRequest() != null) { addCustomQueryParams(request); addCustomHeaders(request); } final AWSCredentialsProvider credentialsProvider = resolveCredentials(request); presigner.presignRequest(request, credentialsProvider.getCredentials(), expirationDate); return RuntimeHttpUtils.convertRequestToUrl(request, true, false); }
public static String getUserAgent(final ClientConfiguration config, final String userAgentMarker) { String userDefinedPrefix = config != null ? config.getUserAgentPrefix() : ""; String userDefinedSuffix = config != null ? config.getUserAgentSuffix() : ""; String awsExecutionEnvironment = getEnvironmentVariable(AWS_EXECUTION_ENV_NAME); StringBuilder userAgent = new StringBuilder(userDefinedPrefix.trim()); if(!ClientConfiguration.DEFAULT_USER_AGENT.equals(userDefinedPrefix)) { userAgent.append(COMMA).append(ClientConfiguration.DEFAULT_USER_AGENT); } if(StringUtils.hasValue(userDefinedSuffix)) { userAgent.append(COMMA).append(userDefinedSuffix.trim()); } if(StringUtils.hasValue(awsExecutionEnvironment)) { userAgent.append(SPACE).append(AWS_EXECUTION_ENV_PREFIX).append(awsExecutionEnvironment.trim()); } if(StringUtils.hasValue(userAgentMarker)) { userAgent.append(SPACE).append(userAgentMarker.trim()); } return userAgent.toString(); }
/** * Apply the user agent to the marshalled request (if not already present). Appends a custom marker to track usage of the * Netty based client. */ private void applyUserAgent(PutMediaRequest request, Request<PutMediaRequest> marshalled) { if (!marshalled.getHeaders().containsKey("User-Agent")) { marshalled.addHeader("User-Agent", RuntimeHttpUtils.getUserAgent(new ClientConfiguration(), request.getRequestClientOptions() .getClientMarker(RequestClientOptions.Marker.USER_AGENT))); } }
public URL presign(Request<?> request, Date expirationDate) { final Presigner presigner = (Presigner) signerProvider.getSigner(SignerProviderContext.builder() .withIsRedirect(false) .withRequest(request) .withUri(request.getEndpoint()) .build()); if (request.getOriginalRequest() != null) { addCustomQueryParams(request); addCustomHeaders(request); } final AWSCredentialsProvider credentialsProvider = resolveCredentials(request); presigner.presignRequest(request, credentialsProvider.getCredentials(), expirationDate); return RuntimeHttpUtils.convertRequestToUrl(request, true, false); }
public static String getUserAgent(final ClientConfiguration config, final String userAgentMarker) { String userDefinedPrefix = config != null ? config.getUserAgentPrefix() : ""; String userDefinedSuffix = config != null ? config.getUserAgentSuffix() : ""; String awsExecutionEnvironment = getEnvironmentVariable(AWS_EXECUTION_ENV_NAME); StringBuilder userAgent = new StringBuilder(userDefinedPrefix.trim()); if(!ClientConfiguration.DEFAULT_USER_AGENT.equals(userDefinedPrefix)) { userAgent.append(COMMA).append(ClientConfiguration.DEFAULT_USER_AGENT); } if(StringUtils.hasValue(userDefinedSuffix)) { userAgent.append(COMMA).append(userDefinedSuffix.trim()); } if(StringUtils.hasValue(awsExecutionEnvironment)) { userAgent.append(SPACE).append(AWS_EXECUTION_ENV_PREFIX).append(awsExecutionEnvironment.trim()); } if(StringUtils.hasValue(userAgentMarker)) { userAgent.append(SPACE).append(userAgentMarker.trim()); } return userAgent.toString(); }
/** * Returns an URI for the given endpoint. * Prefixes the protocol if the endpoint given does not have it. * * @throws IllegalArgumentException if the inputs are null. */ public static URI toUri(String endpoint, ClientConfiguration config) { if (config == null) { throw new IllegalArgumentException("ClientConfiguration cannot be null"); } return toUri(endpoint, config.getProtocol()); }
httpClientParams, getUserAgent(config, null)); httpClientParams, getConnectionTimeout(config)); HttpConnectionParams.setSoTimeout( httpClientParams, getSocketTimeout(config));
/** * Sets a User-Agent for the specified request, taking into account any custom data. */ private void setUserAgent(Request<?> request) { RequestClientOptions opts = requestConfig.getRequestClientOptions(); if (opts != null) { request.addHeader(HEADER_USER_AGENT, RuntimeHttpUtils .getUserAgent(config, opts.getClientMarker(Marker.USER_AGENT))); } else { request.addHeader(HEADER_USER_AGENT, RuntimeHttpUtils.getUserAgent(config, null)); } }
public URL presign(Request<?> request, Date expirationDate) { final Presigner presigner = (Presigner) signerProvider.getSigner(SignerProviderContext.builder() .withIsRedirect(false) .withRequest(request) .withUri(request.getEndpoint()) .build()); if (request.getOriginalRequest() != null) { addCustomQueryParams(request); addCustomHeaders(request); } final AWSCredentialsProvider credentialsProvider = resolveCredentials(request); presigner.presignRequest(request, credentialsProvider.getCredentials(), expirationDate); return RuntimeHttpUtils.convertRequestToUrl(request, true, false); }
/** * Loads a set of region metadata by downloading an XML file from the * given URI and parsing it. * * @param uri the uri of the XML file to parse * @param config configuration for the HTTP client to use to fetch the file * @throws IOException any error while reading data. */ public static RegionMetadata load (final URI uri, final ClientConfiguration config) throws IOException { return RegionMetadataParser.parse( RuntimeHttpUtils.fetchFile(uri, config)); }
public static String getUserAgent(final ClientConfiguration config, final String userAgentMarker) { String userDefinedPrefix = config != null ? config.getUserAgentPrefix() : ""; String userDefinedSuffix = config != null ? config.getUserAgentSuffix() : ""; String awsExecutionEnvironment = getEnvironmentVariable(AWS_EXECUTION_ENV_NAME); StringBuilder userAgent = new StringBuilder(userDefinedPrefix.trim()); if(!ClientConfiguration.DEFAULT_USER_AGENT.equals(userDefinedPrefix)) { userAgent.append(COMMA).append(ClientConfiguration.DEFAULT_USER_AGENT); } if(StringUtils.hasValue(userDefinedSuffix)) { userAgent.append(COMMA).append(userDefinedSuffix.trim()); } if(StringUtils.hasValue(awsExecutionEnvironment)) { userAgent.append(SPACE).append(AWS_EXECUTION_ENV_PREFIX).append(awsExecutionEnvironment.trim()); } if(StringUtils.hasValue(userAgentMarker)) { userAgent.append(SPACE).append(userAgentMarker.trim()); } return userAgent.toString(); }
protected <X extends AmazonWebServiceRequest> Request<X> createRequest(String bucketName, String key, X originalRequest, HttpMethodName httpMethod, URI endpoint) { // If the underlying AmazonS3Client has enabled accelerate mode and the original // request operation is accelerate mode supported, then the request will use the // s3-accelerate endpoint to performe the operations. if (clientOptions.isAccelerateModeEnabled() && !(originalRequest instanceof S3AccelerateUnsupported)) { if (clientOptions.isDualstackEnabled()) { endpoint = RuntimeHttpUtils.toUri(Constants.S3_ACCELERATE_DUALSTACK_HOSTNAME, clientConfiguration); } else { endpoint = RuntimeHttpUtils.toUri(Constants.S3_ACCELERATE_HOSTNAME, clientConfiguration); } } Request<X> request = new DefaultRequest<X>(originalRequest, Constants.S3_SERVICE_DISPLAY_NAME); request.setHttpMethod(httpMethod); request.addHandlerContext(S3HandlerContextKeys.IS_CHUNKED_ENCODING_DISABLED, Boolean.valueOf(clientOptions.isChunkedEncodingDisabled())); request.addHandlerContext(S3HandlerContextKeys.IS_PAYLOAD_SIGNING_ENABLED, Boolean.valueOf(clientOptions.isPayloadSigningEnabled())); resolveRequestEndpoint(request, bucketName, key, endpoint); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, SERVICE_ID); return request; }
httpClientParams, getUserAgent(config, null)); httpClientParams, getConnectionTimeout(config)); HttpConnectionParams.setSoTimeout( httpClientParams, getSocketTimeout(config));
/** * Sets a User-Agent for the specified request, taking into account any custom data. */ private void setUserAgent(Request<?> request) { RequestClientOptions opts = requestConfig.getRequestClientOptions(); if (opts != null) { request.addHeader(HEADER_USER_AGENT, RuntimeHttpUtils .getUserAgent(config, opts.getClientMarker(Marker.USER_AGENT))); } else { request.addHeader(HEADER_USER_AGENT, RuntimeHttpUtils.getUserAgent(config, null)); } }
/** * Loads a set of region metadata by downloading an XML file from the * given URI and parsing it. * * @param uri the uri of the XML file to parse * @param config configuration for the HTTP client to use to fetch the file * @throws IOException any error while reading data. */ public static RegionMetadata load (final URI uri, final ClientConfiguration config) throws IOException { return RegionMetadataParser.parse( RuntimeHttpUtils.fetchFile(uri, config)); }