private DefaultRequest<OrigRequest> createRequest(OperationInfo operationInfo, OrigRequest originalRequest) { if (originalRequest instanceof AmazonWebServiceRequest) { return new DefaultRequest<OrigRequest>((AmazonWebServiceRequest) originalRequest, operationInfo.serviceName()); } else { return new DefaultRequest<OrigRequest>(operationInfo.serviceName()); } }
@Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append(getHttpMethod()).append(" "); builder.append(getEndpoint()).append(" "); String resourcePath = getResourcePath(); if (resourcePath == null) { builder.append("/"); } else { if (!resourcePath.startsWith("/")) { builder.append("/"); } builder.append(resourcePath); } builder.append(" "); if (!getParameters().isEmpty()) { builder.append("Parameters: (") .append(Jackson.toJsonString(parameters)); } if (!getHeaders().isEmpty()) { builder.append("Headers: ("); for (String key : getHeaders().keySet()) { String value = getHeaders().get(key); builder.append(key).append(": ").append(value).append(", "); } builder.append(") "); } return builder.toString(); }
/** * * @see com.amazonaws.Request#addParameters(java.lang.String, java.util.List) */ public void addParameters(String name, List<String> values) { if (values == null) return; for (String value : values) { addParameter(name, value); } }
/** * Create an authorization token used to connect to a database that uses RDS IAM authentication. */ public String getAuthToken(GetIamAuthTokenRequest request) throws AmazonClientException { DefaultRequest<Void> signableRequest = new DefaultRequest<Void>(SERVICE_NAME); signableRequest.setResourcePath("/"); setEndpoint(signableRequest, request); setParameters(signableRequest, request); signableRequest.setHttpMethod(HttpMethodName.GET); return presignerFacade.presign(signableRequest, getExpirationDate()).toExternalForm().replaceFirst("http://", ""); }
/** * Tests that we correctly include all appropriate parameters in the * canonical string to sign. */ @Test public void testCanonicalStringToSignParameters() throws Exception { final DefaultRequest<Void> request = new DefaultRequest<Void>("service"); request.addParameter("x-amz-foo", "bar"); request.addParameter("logging", "true"); request.addParameter("fake", "fake"); final String canonicalString = RestUtils.makeS3CanonicalString("GET", "resource", request, null); assertTrue(canonicalString.contains("x-amz-foo:bar")); assertTrue(canonicalString.contains("logging=true")); assertFalse(canonicalString.contains("fake=")); }
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); } }
DefaultRequest dr = new DefaultRequest(SERVICE_NAME); dr.setEndpoint(req.url().uri()); dr.addHeader(headerName, req.header(headerName)); dr.setHttpMethod(HttpMethodName.valueOf(req.method())); dr.addHeader(HEADER_USER_AGENT, VersionInfoUtils.getUserAgent()); dr.setContent(buffer.inputStream()); dr.addHeader(X_API_KEY, apiKey.getAPIKey()); if (subscriberUUID != null ) { Log.d(TAG,"Subscriber ID is " + subscriberUUID); dr.addHeader(X_AMZ_SUBSCRIBER_ID, subscriberUUID); dr.addHeader(AUTHORIZATION, cognitoUserPoolsAuthProvider.getLatestAuthToken()); } catch (Exception e) { IOException ioe = new IOException("Failed to retrieve Cognito User Pools token.", e); dr.addHeader(AUTHORIZATION, oidcAuthProvider.getLatestAuthToken()); } catch (Exception e) { IOException ioe = new IOException("Failed to retrieve OIDC token.", e); for (Map.Entry<String, String> e : (Set<Map.Entry<String, String>>)dr.getHeaders().entrySet()) { okReqBuilder.addHeader(e.getKey(), e.getValue());
@Test public void testWithParameter() { DefaultRequest r = new DefaultRequest("test"); r.withParameter("test", "value"); assertEquals(r.getParameters().get("test"), "value"); }
/** * Tests that the canonicalized request includes all the query parameters * when signAllQueryParams is set to true. */ @Test public void testCanonicalStringIncludingAllParameters() throws Exception { final DefaultRequest<Void> request = new DefaultRequest<Void>("service"); request.addParameter("x-amz-foo", "bar"); request.addParameter("logging", "true"); request.addParameter("fake", "fake"); // additionalQueryParamsToSign = ["fake"] String canonicalString = RestUtils.makeS3CanonicalString("GET", "resource", request, null, Arrays.asList("fake")); assertTrue(canonicalString.contains("x-amz-foo:bar")); assertTrue(canonicalString.contains("logging=true")); assertTrue(canonicalString.contains("fake=")); // additionalQueryParamsToSign = ["non-existent-param"] canonicalString = RestUtils.makeS3CanonicalString("GET", "resource", request, null, Arrays.asList("non-existent-param")); assertTrue(canonicalString.contains("x-amz-foo:bar")); assertTrue(canonicalString.contains("logging=true")); assertFalse(canonicalString.contains("fake=")); } }
public Request<GetCheckerIpRangesRequest> marshall(GetCheckerIpRangesRequest getCheckerIpRangesRequest) { if (getCheckerIpRangesRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<GetCheckerIpRangesRequest> request = new DefaultRequest<GetCheckerIpRangesRequest>(getCheckerIpRangesRequest, "AmazonRoute53"); request.setHttpMethod(HttpMethodName.GET); String uriResourcePath = "/2013-04-01/checkeripranges"; request.setResourcePath(uriResourcePath); return request; }
@Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append(getHttpMethod()).append(" "); builder.append(getEndpoint()).append(" "); String resourcePath = getResourcePath(); if (resourcePath == null) { builder.append("/"); } else { if (!resourcePath.startsWith("/")) { builder.append("/"); } builder.append(resourcePath); } builder.append(" "); if (!getParameters().isEmpty()) { builder.append("Parameters: (") .append(Jackson.toJsonString(parameters)); } if (!getHeaders().isEmpty()) { builder.append("Headers: ("); for (String key : getHeaders().keySet()) { String value = getHeaders().get(key); builder.append(key).append(": ").append(value).append(", "); } builder.append(") "); } return builder.toString(); }
/** * @see com.amazonaws.Request#withParameter(java.lang.String, java.lang.String) */ public Request<T> withParameter(String name, String value) { addParameter(name, value); return this; }
public Request<GetTrafficPolicyInstanceCountRequest> marshall(GetTrafficPolicyInstanceCountRequest getTrafficPolicyInstanceCountRequest) { if (getTrafficPolicyInstanceCountRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<GetTrafficPolicyInstanceCountRequest> request = new DefaultRequest<GetTrafficPolicyInstanceCountRequest>(getTrafficPolicyInstanceCountRequest, "AmazonRoute53"); request.setHttpMethod(HttpMethodName.GET); String uriResourcePath = "/2013-04-01/trafficpolicyinstancecount"; request.setResourcePath(uriResourcePath); return request; }
public String toString() { final StringBuilder builder = new StringBuilder(); builder.append(getHttpMethod()).append(" "); builder.append(getEndpoint()).append(" "); final String resourcePath = getResourcePath(); if (!getParameters().isEmpty()) { builder.append("Parameters: ("); for (final String key : getParameters().keySet()) { final String value = getParameters().get(key); builder.append(key).append(": ").append(value).append(", "); if (!getHeaders().isEmpty()) { builder.append("Headers: ("); for (final String key : getHeaders().keySet()) { final String value = getHeaders().get(key); builder.append(key).append(": ").append(value).append(", ");
/** * @see com.amazonaws.Request#withParameter(java.lang.String, * java.lang.String) */ @Override public Request<T> withParameter(String name, String value) { addParameter(name, value); return this; }
public Request<GetHealthCheckCountRequest> marshall(GetHealthCheckCountRequest getHealthCheckCountRequest) { if (getHealthCheckCountRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<GetHealthCheckCountRequest> request = new DefaultRequest<GetHealthCheckCountRequest>(getHealthCheckCountRequest, "AmazonRoute53"); request.setHttpMethod(HttpMethodName.GET); String uriResourcePath = "/2013-04-01/healthcheckcount"; request.setResourcePath(uriResourcePath); return request; }
@Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append(getHttpMethod()).append(" "); builder.append(getEndpoint()).append(" "); String resourcePath = getResourcePath(); if (resourcePath == null) { builder.append("/"); } else { if (!resourcePath.startsWith("/")) { builder.append("/"); } builder.append(resourcePath); } builder.append(" "); if (!getParameters().isEmpty()) { builder.append("Parameters: (") .append(Jackson.toJsonString(parameters)); } if (!getHeaders().isEmpty()) { builder.append("Headers: ("); for (String key : getHeaders().keySet()) { String value = getHeaders().get(key); builder.append(key).append(": ").append(value).append(", "); } builder.append(") "); } return builder.toString(); }
/** * @see com.amazonaws.Request#withParameter(java.lang.String, java.lang.String) */ public Request<T> withParameter(String name, String value) { addParameter(name, value); return this; }
public Request<GetHostedZoneCountRequest> marshall(GetHostedZoneCountRequest getHostedZoneCountRequest) { if (getHostedZoneCountRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<GetHostedZoneCountRequest> request = new DefaultRequest<GetHostedZoneCountRequest>(getHostedZoneCountRequest, "AmazonRoute53"); request.setHttpMethod(HttpMethodName.GET); String uriResourcePath = "/2013-04-01/hostedzonecount"; request.setResourcePath(uriResourcePath); return request; }
public String toString() { final StringBuilder builder = new StringBuilder(); builder.append(getHttpMethod()).append(" "); builder.append(getEndpoint()).append(" "); final String resourcePath = getResourcePath(); if (!getParameters().isEmpty()) { builder.append("Parameters: ("); for (final String key : getParameters().keySet()) { final String value = getParameters().get(key); builder.append(key).append(": ").append(value).append(", "); if (!getHeaders().isEmpty()) { builder.append("Headers: ("); for (final String key : getHeaders().keySet()) { final String value = getHeaders().get(key); builder.append(key).append(": ").append(value).append(", ");