private void setEndpoint(DefaultRequest<Void> signableRequest, GetIamAuthTokenRequest request) { try { // Add the protocol to make the signer happy signableRequest.setEndpoint(new URI(String.format("http://%s:%d", request.getHostname(), request.getPort()))); } catch (URISyntaxException e) { throw new AmazonClientException("Invalid endpoint provided", e); } }
private GenericApiGatewayResponse execute(HttpMethodName method, String resourcePath, Map<String, String> headers, Map<String,List<String>> parameters, InputStream content) { final ExecutionContext executionContext = buildExecutionContext(); DefaultRequest request = new DefaultRequest(API_GATEWAY_SERVICE_NAME); request.setHttpMethod(method); request.setContent(content); request.setEndpoint(this.endpoint); request.setResourcePath(resourcePath); request.setHeaders(buildRequestHeaders(headers, apiKey)); if (parameters != null) { request.setParameters(parameters); } return this.client.execute(request, responseHandler, errorResponseHandler, executionContext).getAwsResponse(); }
@SuppressWarnings("rawtypes") public static Request<?> getSampleRequestWithNonRepeatableContent( AmazonWebServiceRequest amazonWebServiceRequest) { DefaultRequest<?> request = new DefaultRequest( amazonWebServiceRequest, "non-existent-service"); request.setEndpoint(URI.create("http://non-existent-service.amazonaws.com")); // NonRepeatableInputStream#markSupported() returns false String content = "Some content that could only be read once."; request.setContent(new NonRepeatableInputStream(content)); request.addHeader("Content-Length", String.valueOf(content.length())); return request; }
@SuppressWarnings("rawtypes") public static Request<?> getSampleRequestWithRepeatableContent( AmazonWebServiceRequest amazonWebServiceRequest) { DefaultRequest<?> request = new DefaultRequest( amazonWebServiceRequest, "non-existent-service"); request.setEndpoint(URI.create("http://non-existent-service.amazonaws.com")); // StringInputStream#markSupported() returns true try { String content = "Some content that could be read for multiple times."; request.setContent(new StringInputStream(content)); request.addHeader("Content-Length", String.valueOf(content.length())); } catch (UnsupportedEncodingException e) { Assert.fail("Unable to set up the request content"); } return request; }
private void setEndpoint(DefaultRequest<Void> signableRequest, GetIamAuthTokenRequest request) { try { // Add the protocol to make the signer happy signableRequest.setEndpoint(new URI(String.format("http://%s:%d", request.getHostname(), request.getPort()))); } catch (URISyntaxException e) { throw new AmazonClientException("Invalid endpoint provided", e); } }
private static String getSignedHeaders(AwsIamAuthenticationOptions options) { Map<String, String> headers = createIamRequestHeaders(options); AWS4Signer signer = new AWS4Signer(); DefaultRequest<String> request = new DefaultRequest<>("sts"); request.setContent(new ByteArrayInputStream(REQUEST_BODY.getBytes())); request.setHeaders(headers); request.setHttpMethod(HttpMethodName.POST); request.setEndpoint(options.getEndpointUri()); signer.setServiceName(request.getServiceName()); signer.sign(request, options.getCredentialsProvider().getCredentials()); Map<String, Object> map = new LinkedHashMap<>(); for (Entry<String, String> entry : request.getHeaders().entrySet()) { map.put(entry.getKey(), Collections.singletonList(entry.getValue())); } try { return OBJECT_MAPPER.writeValueAsString(map); } catch (JsonProcessingException e) { throw new IllegalStateException("Cannot serialize headers to JSON", e); } }
private GenericApiGatewayResponse execute(HttpMethodName method, String resourcePath, Map<String, String> headers, Map<String,List<String>> parameters, InputStream content) { final ExecutionContext executionContext = buildExecutionContext(); DefaultRequest request = new DefaultRequest(API_GATEWAY_SERVICE_NAME); request.setHttpMethod(method); request.setContent(content); request.setEndpoint(this.endpoint); request.setResourcePath(resourcePath); request.setHeaders(buildRequestHeaders(headers, apiKey)); if (parameters != null) { request.setParameters(parameters); } return this.client.execute(request, responseHandler, errorResponseHandler, executionContext).getAwsResponse(); }
dr.setEndpoint(req.url().uri());
awsRequest.setEndpoint(httpEndpointUri); awsRequest.setResourcePath(resourcePath); awsRequest.setHeaders(httpHeaders);