• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 package software.amazon.awssdk.crt.s3;
6 
7 import software.amazon.awssdk.crt.http.HttpHeader;
8 
9 import java.nio.ByteBuffer;
10 
11 class S3MetaRequestResponseHandlerNativeAdapter {
12     private S3MetaRequestResponseHandler responseHandler;
13 
S3MetaRequestResponseHandlerNativeAdapter(S3MetaRequestResponseHandler responseHandler)14     S3MetaRequestResponseHandlerNativeAdapter(S3MetaRequestResponseHandler responseHandler) {
15         this.responseHandler = responseHandler;
16     }
17 
onResponseBody(byte[] bodyBytesIn, long objectRangeStart, long objectRangeEnd)18     int onResponseBody(byte[] bodyBytesIn, long objectRangeStart, long objectRangeEnd) {
19         return this.responseHandler.onResponseBody(ByteBuffer.wrap(bodyBytesIn), objectRangeStart, objectRangeEnd);
20     }
21 
onFinished(int errorCode, int responseStatus, byte[] errorPayload, int checksumAlgorithm, boolean didValidateChecksum, Throwable cause, final ByteBuffer headersBlob)22     void onFinished(int errorCode, int responseStatus, byte[] errorPayload, int checksumAlgorithm, boolean didValidateChecksum, Throwable cause, final ByteBuffer headersBlob) {
23         HttpHeader[] errorHeaders = headersBlob == null ? null : HttpHeader.loadHeadersFromMarshalledHeadersBlob(headersBlob);
24         S3FinishedResponseContext context = new S3FinishedResponseContext(errorCode, responseStatus, errorPayload, ChecksumAlgorithm.getEnumValueFromInteger(checksumAlgorithm), didValidateChecksum, cause, errorHeaders);
25         this.responseHandler.onFinished(context);
26     }
27 
onResponseHeaders(final int statusCode, final ByteBuffer headersBlob)28     void onResponseHeaders(final int statusCode, final ByteBuffer headersBlob) {
29         responseHandler.onResponseHeaders(statusCode, HttpHeader.loadHeadersFromMarshalledHeadersBlob(headersBlob));
30     }
31 
onProgress(final S3MetaRequestProgress progress)32     void onProgress(final S3MetaRequestProgress progress) {
33         responseHandler.onProgress(progress);
34     }
35 }
36