@Override public void beforeRequest(Request<?> request) { // Some operations marshall to this header, so don't clobber if it exists if (!request.getHeaders().containsKey("Accept")) { request.addHeader("Accept", "application/json"); } }
@Override public void beforeRequest(Request<?> request) { request.addHeader("x-amz-glacier-version", "2012-06-01"); request.addHeader("x-amz-content-sha256", "required"); String contentLength = request.getHeaders().remove("x-amz-content-length"); if (contentLength != null) { request.getHeaders().put("Content-Length", contentLength); String range = request.getHeaders().get("Content-Range"); request.getHeaders().put("Content-Length", Long.toString(contentLength)); if (resourcePath != null) { String newResourcePath = resourcePath.replace("{jobType}", "archive-retrievals"); request.setResourcePath(newResourcePath);
@Override public Request<OrigRequest> finishMarshalling() { // Content may already be set if the payload is binary data. if (request.getContent() == null) { // End the implicit request object if needed. if (!hasExplicitPayloadMember) { jsonGenerator.writeEndObject(); } byte[] content = jsonGenerator.getBytes(); request.setContent(new ByteArrayInputStream(content)); if (content.length > 0) { request.addHeader("Content-Length", Integer.toString(content.length)); } } if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", contentType); } return request; }
public Request<UpdateHostedZoneCommentRequest> marshall(UpdateHostedZoneCommentRequest updateHostedZoneCommentRequest) { if (updateHostedZoneCommentRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<UpdateHostedZoneCommentRequest> request = new DefaultRequest<UpdateHostedZoneCommentRequest>(updateHostedZoneCommentRequest, "AmazonRoute53"); request.setHttpMethod(HttpMethodName.POST); String uriResourcePath = "/2013-04-01/hostedzone/{Id}"; uriResourcePath = com.amazonaws.transform.PathMarshallers.NON_GREEDY.marshall(uriResourcePath, "Id", updateHostedZoneCommentRequest.getId()); request.setResourcePath(uriResourcePath); try { StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "https://route53.amazonaws.com/doc/2013-04-01/"); xmlWriter.startElement("UpdateHostedZoneCommentRequest"); if (updateHostedZoneCommentRequest != null) { if (updateHostedZoneCommentRequest.getComment() != null) { xmlWriter.startElement("Comment").value(updateHostedZoneCommentRequest.getComment()).endElement(); } } xmlWriter.endElement(); request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); } } catch (Throwable t) { throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t); } return request; }
@Override public Request<RawRequest> marshall(RawRequest rawRequestRequest) { if (rawRequestRequest == null) { throw new AmazonClientException("Invalid argument passed to marshall(...)"); } Request<RawRequest> request = new DefaultRequest<>("MyService"); request.setHttpMethod(rawRequestRequest.httpMethod()); request.setResourcePath(rawRequestRequest.path()); request.setContent(rawRequestRequest.payload()); // Custom headers and query params are set later in the runtime if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", protocolFactory.getContentType()); } return request; } }
/** * Tests that we can calculate an AWS3 HTTP signature and compares it to a * previously computed signature. */ @Test public void testHttpSigning() throws Exception { AWSCredentials credentials = new BasicAWSCredentials("access", "secret"); Request<?> request = new DefaultRequest<Void>("Foo"); request.setContent(new ByteArrayInputStream("{\"TableName\": \"foo\"}" .getBytes(StringUtils.UTF8))); request.setResourcePath("/"); request.addHeader("X-Amz-Target", "com.amazon.bigbird.sharedtypes.BigBirdRequestRouterService.DescribeTable"); request.setEndpoint(URI.create("http://sdb-func7-3001.sea3:8080")); // Override the date, so that we use the same date as // the previously signer.overrideDate("Tue, 15 Mar 2011 20:35:24 GMT"); signer.sign(request, credentials); String authorization = request.getHeaders().get("X-Amzn-Authorization"); assertEquals(EXPECTED_AUTHORIZATION_HEADER, authorization); }
final Map<String, String> originalHeaders = new HashMap<String, String>(request.getHeaders()); request.setResourcePath(SdkHttpUtils.urlEncode(path, true)); awsRequestMetrics.addPropertyWith(Field.RedirectLocation, redirectedURI.toString()); request.setParameters(originalParameters); request.setHeaders(originalHeaders); request.setContent(originalContent);
public Request<CreateQueryLoggingConfigRequest> marshall(CreateQueryLoggingConfigRequest createQueryLoggingConfigRequest) { throw new SdkClientException("Invalid argument passed to marshall(...)"); request.setHttpMethod(HttpMethodName.POST); request.setResourcePath(uriResourcePath); StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "https://route53.amazonaws.com/doc/2013-04-01/"); xmlWriter.startElement("HostedZoneId").value(createQueryLoggingConfigRequest.getHostedZoneId()).endElement(); xmlWriter.startElement("CloudWatchLogsLogGroupArn").value(createQueryLoggingConfigRequest.getCloudWatchLogsLogGroupArn()).endElement(); request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t);
public Request<DescribeLimitsRequest> marshall(DescribeLimitsRequest describeLimitsRequest) { if (describeLimitsRequest == null) { throw new AmazonClientException( "Invalid argument passed to marshall(DescribeLimitsRequest)"); } Request<DescribeLimitsRequest> request = new DefaultRequest<DescribeLimitsRequest>( describeLimitsRequest, "AmazonDynamoDB"); String target = "DynamoDB_20120810.DescribeLimits"; request.addHeader("X-Amz-Target", target); request.setHttpMethod(HttpMethodName.POST); String uriResourcePath = "/"; request.setResourcePath(uriResourcePath); request.addHeader("Content-Length", "0"); request.setContent(new ByteArrayInputStream(new byte[0])); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/x-amz-json-1.0"); } return request; } }
/** * 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))); } }
@Override public Request<OrigRequest> finishMarshalling() { // Content may already be set if the payload is binary data. if (request.getContent() == null) { // End the implicit request object if needed. if (!hasExplicitPayloadMember) { jsonGenerator.writeEndObject(); } byte[] content = jsonGenerator.getBytes(); request.setContent(new ByteArrayInputStream(content)); if (content.length > 0) { request.addHeader("Content-Length", Integer.toString(content.length)); } } if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", contentType); } return request; }
/** * Tests that if passed anonymous credentials, signer will not generate a * signature */ @Test public void testAnonymous() throws Exception { AWSCredentials credentials = new AnonymousAWSCredentials(); Request<?> request = new DefaultRequest<Void>("Foo"); request.setContent(new ByteArrayInputStream("{\"TableName\": \"foo\"}" .getBytes(StringUtils.UTF8))); request.setResourcePath("/"); request.addHeader("X-Amz-Target", "com.amazon.bigbird.sharedtypes.BigBirdRequestRouterService.DescribeTable"); request.setEndpoint(URI.create("http://sdb-func7-3001.sea3:8080")); // Override the date, so that we use the same date as // the previously signer.overrideDate("Tue, 15 Mar 2011 20:35:24 GMT"); signer.sign(request, credentials); String authorization = request.getHeaders().get("X-Amzn-Authorization"); assertNull(authorization); } }
public Request<CreateReusableDelegationSetRequest> marshall(CreateReusableDelegationSetRequest createReusableDelegationSetRequest) { throw new SdkClientException("Invalid argument passed to marshall(...)"); "AmazonRoute53"); request.setHttpMethod(HttpMethodName.POST); request.setResourcePath(uriResourcePath); StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "https://route53.amazonaws.com/doc/2013-04-01/"); xmlWriter.startElement("CallerReference").value(createReusableDelegationSetRequest.getCallerReference()).endElement(); xmlWriter.startElement("HostedZoneId").value(createReusableDelegationSetRequest.getHostedZoneId()).endElement(); request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t);
public Request<DescribeEndpointsRequest> marshall( DescribeEndpointsRequest describeEndpointsRequest) { if (describeEndpointsRequest == null) { throw new AmazonClientException( "Invalid argument passed to marshall(DescribeEndpointsRequest)"); } Request<DescribeEndpointsRequest> request = new DefaultRequest<DescribeEndpointsRequest>( describeEndpointsRequest, "AmazonDynamoDB"); String target = "DynamoDB_20120810.DescribeEndpoints"; request.addHeader("X-Amz-Target", target); request.setHttpMethod(HttpMethodName.POST); String uriResourcePath = "/"; request.setResourcePath(uriResourcePath); request.addHeader("Content-Length", "0"); request.setContent(new ByteArrayInputStream(new byte[0])); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/x-amz-json-1.0"); } return request; } }
if (!request.getHeaders().containsKey(Headers.CONTENT_TYPE)) { request.addHeader(Headers.CONTENT_TYPE, "application/octet-stream");
public Request<UpdateTrafficPolicyCommentRequest> marshall(UpdateTrafficPolicyCommentRequest updateTrafficPolicyCommentRequest) { throw new SdkClientException("Invalid argument passed to marshall(...)"); "AmazonRoute53"); request.setHttpMethod(HttpMethodName.POST); uriResourcePath = com.amazonaws.transform.PathMarshallers.NON_GREEDY.marshall(uriResourcePath, "Version", updateTrafficPolicyCommentRequest.getVersion()); request.setResourcePath(uriResourcePath); StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "https://route53.amazonaws.com/doc/2013-04-01/"); xmlWriter.startElement("Comment").value(updateTrafficPolicyCommentRequest.getComment()).endElement(); request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t);
public Request<DescribeLimitsRequest> marshall(DescribeLimitsRequest describeLimitsRequest) { if (describeLimitsRequest == null) { throw new AmazonClientException( "Invalid argument passed to marshall(DescribeLimitsRequest)"); } Request<DescribeLimitsRequest> request = new DefaultRequest<DescribeLimitsRequest>( describeLimitsRequest, "AmazonKinesis"); String target = "Kinesis_20131202.DescribeLimits"; request.addHeader("X-Amz-Target", target); request.setHttpMethod(HttpMethodName.POST); String uriResourcePath = "/"; request.setResourcePath(uriResourcePath); request.addHeader("Content-Length", "0"); request.setContent(new ByteArrayInputStream(new byte[0])); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/x-amz-json-1.1"); } return request; } }
public Request<CreateCloudFrontOriginAccessIdentityRequest> marshall(CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest) { throw new SdkClientException("Invalid argument passed to marshall(...)"); createCloudFrontOriginAccessIdentityRequest, "AmazonCloudFront"); request.setHttpMethod(HttpMethodName.POST); request.setResourcePath(uriResourcePath); StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "http://cloudfront.amazonaws.com/doc/2018-11-05/"); xmlWriter.startElement("CallerReference").value(cloudFrontOriginAccessIdentityConfig.getCallerReference()).endElement(); xmlWriter.startElement("Comment").value(cloudFrontOriginAccessIdentityConfig.getComment()).endElement(); request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t);
public Request<ClearDefaultAuthorizerRequest> marshall( ClearDefaultAuthorizerRequest clearDefaultAuthorizerRequest) { if (clearDefaultAuthorizerRequest == null) { throw new AmazonClientException( "Invalid argument passed to marshall(ClearDefaultAuthorizerRequest)"); } Request<ClearDefaultAuthorizerRequest> request = new DefaultRequest<ClearDefaultAuthorizerRequest>( clearDefaultAuthorizerRequest, "AWSIot"); request.setHttpMethod(HttpMethodName.DELETE); String uriResourcePath = "/default-authorizer"; request.setResourcePath(uriResourcePath); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/x-amz-json-1.0"); } return request; } }
public Request<CreateTrafficPolicyVersionRequest> marshall(CreateTrafficPolicyVersionRequest createTrafficPolicyVersionRequest) { throw new SdkClientException("Invalid argument passed to marshall(...)"); "AmazonRoute53"); request.setHttpMethod(HttpMethodName.POST); request.setResourcePath(uriResourcePath); StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "https://route53.amazonaws.com/doc/2013-04-01/"); xmlWriter.startElement("Document").value(createTrafficPolicyVersionRequest.getDocument()).endElement(); xmlWriter.startElement("Comment").value(createTrafficPolicyVersionRequest.getComment()).endElement(); request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t);