Java Code Examples for com.amazonaws.DefaultRequest#setEndpoint()
The following examples show how to use
com.amazonaws.DefaultRequest#setEndpoint() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GenericApiGatewayClient.java From apigateway-generic-java-sdk with Apache License 2.0 | 5 votes |
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(); }
Example 2
Source File: AwsIamAuthentication.java From spring-vault with Apache License 2.0 | 5 votes |
private static String getSignedHeaders(AwsIamAuthenticationOptions options, AWSCredentials credentials) { 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, credentials); 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); } }
Example 3
Source File: SkdSignerUtil.java From aws-signing-request-interceptor with MIT License | 5 votes |
static public String getExpectedAuthorizationHeader(Request request) throws Exception { // create the signable request DefaultRequest signableRequest = new DefaultRequest(null, request.getServiceName()); signableRequest.setEndpoint(new URI("http://" + request.getHost())); signableRequest.setResourcePath(request.getUri()); signableRequest.setHttpMethod(HttpMethodName.valueOf(request.getHttpMethod())); signableRequest.setContent(new StringInputStream(request.getBody())); if (request.getHeaders() != null) signableRequest.setHeaders(request.getHeaders()); if (request.getQueryParams() != null) { Map<String, List<String>> convertedQueryParams = new HashMap<>(); for (String paramName : request.getQueryParams().keySet()) { convertedQueryParams.put(paramName, new ArrayList<>(request.getQueryParams().get(paramName))); } signableRequest.setParameters(convertedQueryParams); } /* Init the signer class Note: Double uri encoding is off simple before the signature does not match the expected signature of the test cases if it is enabled. This was a bit unexpected because AWSElasticsearchClient (AWS SDK Class) enabled double URI encoding in the signer by default. I can only assume that double encoding is needed when accessing the service but not when accessing elasticsearch. */ AWS4Signer aws4Signer = new AWS4Signer(false); aws4Signer.setServiceName(request.getServiceName()); aws4Signer.setRegionName(request.getRegion()); Method method1 = AWS4Signer.class.getDeclaredMethod("setOverrideDate", Date.class); method1.setAccessible(true); method1.invoke(aws4Signer, request.getDate()); aws4Signer.sign(signableRequest, request.getCredentialsProvider().getCredentials()); return (String) signableRequest.getHeaders().get("Authorization"); }
Example 4
Source File: GenericApiGatewayClient.java From nifi with Apache License 2.0 | 5 votes |
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(); }
Example 5
Source File: AwsRequestSigner.java From presto with Apache License 2.0 | 4 votes |
@Override public void process(final HttpRequest request, final HttpContext context) throws IOException { String method = request.getRequestLine().getMethod(); URI uri = URI.create(request.getRequestLine().getUri()); URIBuilder uriBuilder = new URIBuilder(uri); Map<String, List<String>> parameters = new TreeMap<>(CASE_INSENSITIVE_ORDER); for (NameValuePair parameter : uriBuilder.getQueryParams()) { parameters.computeIfAbsent(parameter.getName(), key -> new ArrayList<>()) .add(parameter.getValue()); } Map<String, String> headers = Arrays.stream(request.getAllHeaders()) .collect(toImmutableMap(Header::getName, Header::getValue)); InputStream content = null; if (request instanceof HttpEntityEnclosingRequest) { HttpEntityEnclosingRequest enclosingRequest = (HttpEntityEnclosingRequest) request; if (enclosingRequest.getEntity() != null) { content = enclosingRequest.getEntity().getContent(); } } DefaultRequest<?> awsRequest = new DefaultRequest<>(SERVICE_NAME); HttpHost host = (HttpHost) context.getAttribute(HTTP_TARGET_HOST); if (host != null) { awsRequest.setEndpoint(URI.create(host.toURI())); } awsRequest.setHttpMethod(HttpMethodName.fromValue(method)); awsRequest.setResourcePath(uri.getRawPath()); awsRequest.setContent(content); awsRequest.setParameters(parameters); awsRequest.setHeaders(headers); signer.sign(awsRequest, credentialsProvider.getCredentials()); Header[] newHeaders = awsRequest.getHeaders().entrySet().stream() .map(entry -> new BasicHeader(entry.getKey(), entry.getValue())) .toArray(Header[]::new); request.setHeaders(newHeaders); InputStream newContent = awsRequest.getContent(); checkState(newContent == null || request instanceof HttpEntityEnclosingRequest); if (newContent != null) { BasicHttpEntity entity = new BasicHttpEntity(); entity.setContent(newContent); ((HttpEntityEnclosingRequest) request).setEntity(entity); } }