@Override public SdkHttpFullRequest.Builder execute(SdkHttpFullRequest.Builder request, RequestExecutionContext context) throws Exception { InterruptMonitor.checkInterrupted(); return request.putHeader(HEADER_SDK_TRANSACTION_ID, new UUID(random.nextLong(), random.nextLong()).toString()); } }
@Override public SdkHttpFullRequest marshall(AudioEvent audioEvent) { Validate.paramNotNull(audioEvent, "audioEvent"); try { ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory .createProtocolMarshaller(SDK_OPERATION_BINDING); return protocolMarshaller.marshall(audioEvent).toBuilder().putHeader(":message-type", "event") .putHeader(":event-type", "AudioEvent").putHeader(":content-type", "application/octet-stream").build(); } catch (Exception e) { throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build(); } } }
/** * Add a single header to be included in the created HTTP request. * * <p>This completely <b>OVERRIDES</b> any values already configured with this header name in the builder.</p> * * @param headerName The name of the header to add (eg. "Host") * @param headerValue The value for the header */ @Override default Builder putHeader(String headerName, String headerValue) { return putHeader(headerName, singletonList(headerValue)); }
private SdkHttpFullRequest finishMarshalling(SdkPojo pojo) { // Content may already be set if the payload is binary data. if (hasPayloadMembers(pojo) && request.contentStreamProvider() == null && marshallerContext.xmlGenerator() != null) { String content = marshallerContext.xmlGenerator().stringWriter().getBuffer().toString(); if (!content.isEmpty()) { request.contentStreamProvider(() -> new StringInputStream(content)); request.putHeader("Content-Length", Integer.toString(content.getBytes(StandardCharsets.UTF_8).length)); setContentTypeHeaderIfNeeded("application/xml"); } } return request.build(); }
private SdkHttpFullRequest addContentSha256Header(SdkHttpFullRequest request) { return request.toBuilder() .putHeader(X_AMZ_CONTENT_SHA256, "STREAMING-AWS4-HMAC-SHA256-EVENTS").build(); }
@Override protected void addSessionCredentials(SdkHttpFullRequest.Builder mutableRequest, AwsSessionCredentials credentials) { mutableRequest.putHeader(SignerConstant.X_AMZ_SECURITY_TOKEN, credentials.sessionToken()); }
@Override public SdkHttpFullRequest modifyHttpRequest(Context.ModifyHttpRequest context, ExecutionAttributes executionAttributes) { return context.httpRequest() .toBuilder() .putHeader("Accept", "application/json") .build(); } }
private void setContentTypeHeaderIfNeeded(String contentType) { if (contentType != null && !request.headers().containsKey(CONTENT_TYPE)) { request.putHeader(CONTENT_TYPE, contentType); } }
@Override public void marshall(T val, XmlMarshallerContext context, String paramName, SdkField<T> sdkField) { if (!shouldEmit(val)) { return; } context.request().putHeader(paramName, converter.convert(val, sdkField)); }
private SdkHttpFullRequest addContentSha256Header(SdkHttpFullRequest request) { return request.toBuilder().putHeader(X_AMZ_CONTENT_SHA256, "required").build(); } }
@Override protected void addSessionCredentials(SdkHttpFullRequest.Builder mutableRequest, AwsSessionCredentials credentials) { mutableRequest.putHeader(SignerConstant.X_AMZ_SECURITY_TOKEN, credentials.sessionToken()); }
/** * Add a single header to be included in the created HTTP request. * * <p>This completely <b>OVERRIDES</b> any values already configured with this header name in the builder.</p> * * @param headerName The name of the header to add (eg. "Host") * @param headerValue The value for the header */ @Override default Builder putHeader(String headerName, String headerValue) { return putHeader(headerName, singletonList(headerValue)); }
private SdkHttpFullRequest getRequestWithContentLength(SdkHttpFullRequest request, SdkHttpContentPublisher requestProvider) { if (shouldSetContentLength(request, requestProvider)) { return request.toBuilder() .putHeader("Content-Length", String.valueOf(requestProvider.contentLength().get())) .build(); } return request; }
private void setContentTypeHeaderIfNeeded(String contentType) { if (contentType != null && !request.headers().containsKey(CONTENT_TYPE)) { request.putHeader(CONTENT_TYPE, contentType); } }
private void addHostHeader(SdkHttpFullRequest.Builder mutableRequest) { // AWS4 requires that we sign the Host header so we // have to have it in the request by the time we sign. StringBuilder hostHeaderBuilder = new StringBuilder(mutableRequest.host()); if (!SdkHttpUtils.isUsingStandardPort(mutableRequest.protocol(), mutableRequest.port())) { hostHeaderBuilder.append(":").append(mutableRequest.port()); } mutableRequest.putHeader(SignerConstant.HOST, hostHeaderBuilder.toString()); }
private SdkHttpFullRequest mockSdkRequest(String uriString, SdkHttpMethod method) { URI uri = URI.create(uriString); SdkHttpFullRequest.Builder requestBuilder = SdkHttpFullRequest.builder() .uri(uri) .method(method) .putHeader("Host", uri.getHost()) .putHeader("User-Agent", "hello-world!"); if (method != SdkHttpMethod.HEAD) { requestBuilder.contentStreamProvider(() -> new ByteArrayInputStream("Body".getBytes(StandardCharsets.UTF_8))); } return requestBuilder.build(); }
@Override public void marshall(T val, JsonMarshallerContext context, String paramName, SdkField<T> sdkField) { context.request().putHeader(paramName, converter.convert(val, sdkField)); } }
@Override public void marshall(T val, JsonMarshallerContext context, String paramName, SdkField<T> sdkField) { context.request().putHeader(paramName, converter.convert(val, sdkField)); } }
private void addHostHeader(SdkHttpFullRequest.Builder mutableRequest) { // AWS4 requires that we sign the Host header so we // have to have it in the request by the time we sign. StringBuilder hostHeaderBuilder = new StringBuilder(mutableRequest.host()); if (!SdkHttpUtils.isUsingStandardPort(mutableRequest.protocol(), mutableRequest.port())) { hostHeaderBuilder.append(":").append(mutableRequest.port()); } mutableRequest.putHeader(SignerConstant.HOST, hostHeaderBuilder.toString()); }
@Override public void marshall(T val, XmlMarshallerContext context, String paramName, SdkField<T> sdkField) { if (!shouldEmit(val)) { return; } context.request().putHeader(paramName, converter.convert(val, sdkField)); }