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(); }
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(); }
awsRequest.setEndpoint(httpEndpointUri); awsRequest.setResourcePath(resourcePath); awsRequest.setHeaders(httpHeaders); awsRequest.setParameters(httpParameters); awsRequest.setContent(httpContent);