Refine search
@Override public String getHeader(String header) { if (httpResponse == null) return null; return httpResponse.getHeaders().get(header); }
private static String getServingRegionHeader(HttpResponse response) { return response.getHeaders().get(Headers.S3_SERVING_REGION); } }
private static String getRequestId(HttpResponse response) { return response.getHeaders().get(X_AMZN_REQUEST_ID_HEADER); } }
@Override public void handle(T result, HttpResponse response) { result.setRestoreOutputPath(response.getHeaders().get(Headers.S3_RESTORE_OUTPUT_PATH)); } }
@Override public void handle(GetObjectTaggingResult result, HttpResponse response) { result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID)); } }
@Override public void handle(T result, HttpResponse response) { result.setRequesterCharged(response.getHeaders().get(Headers.REQUESTER_CHARGED_HEADER) != null); } }
@Override public void handle(T result, HttpResponse response) { result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID)); } }
@Override public void handle(SetObjectTaggingResult result, HttpResponse response) { result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID)); } }
@Override public void handle(DeleteObjectTaggingResult result, HttpResponse response) { result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID)); } }
@Override public void handle(T result, HttpResponse response) { result.setSSEAlgorithm(response.getHeaders().get(Headers.SERVER_SIDE_ENCRYPTION)); result.setSSECustomerAlgorithm(response.getHeaders().get(Headers.SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM)); result.setSSECustomerKeyMd5(response.getHeaders().get(Headers.SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5)); } }
@Override public void handle(InitiateMultipartUploadResult result, HttpResponse response) { result.setAbortDate(ServiceUtils.parseRfc822Date(response.getHeaders().get(Headers.ABORT_DATE))); result.setAbortRuleId(response.getHeaders().get(Headers.ABORT_RULE_ID)); } }
@Override public void handle(PartListing result, HttpResponse response) { result.setAbortDate(ServiceUtils.parseRfc822Date(response.getHeaders().get(Headers.ABORT_DATE))); result.setAbortRuleId(response.getHeaders().get(Headers.ABORT_RULE_ID)); } }
/** * Used to log the "x-amzn-RequestId" header at DEBUG level, if any, from the response. This * method assumes the apache httpClientSettings request/response has just been successfully * executed. The request id is logged using the "com.amazonaws.requestId" logger if it was * enabled at DEBUG level; otherwise, it is logged at DEBUG level using the * "com.amazonaws.request" logger. * * @return true if the AWS request id is available from the httpClientSettings header; false * otherwise. */ private boolean logHeaderRequestId(final HttpResponse response) { final String reqIdHeader = response.getHeaders() .get(HttpResponseHandler.X_AMZN_REQUEST_ID_HEADER); final boolean isHeaderReqIdAvail = reqIdHeader != null; if (requestIdLog.isDebugEnabled() || requestLog.isDebugEnabled()) { final String msg = HttpResponseHandler.X_AMZN_REQUEST_ID_HEADER + ": " + (isHeaderReqIdAvail ? reqIdHeader : "not available"); if (requestIdLog.isDebugEnabled()) { requestIdLog.debug(msg); } else { requestLog.debug(msg); } } return isHeaderReqIdAvail; }
/** * Parses the S3 response metadata (ex: AWS request ID) from the specified * response, and returns a AmazonWebServiceResponse<T> object ready for the * result to be plugged in. * * @param response * The response containing the response metadata to pull out. * * @return A new, populated AmazonWebServiceResponse<T> object, ready for * the result to be plugged in. */ protected AmazonWebServiceResponse<T> parseResponseMetadata(HttpResponse response) { AmazonWebServiceResponse<T> awsResponse = new AmazonWebServiceResponse<T>(); String awsRequestId = response.getHeaders().get(Headers.REQUEST_ID); String hostId = response.getHeaders().get(Headers.EXTENDED_REQUEST_ID); String cloudFrontId = response.getHeaders().get(Headers.CLOUD_FRONT_ID); Map<String, String> metadataMap = new HashMap<String, String>(); metadataMap.put(ResponseMetadata.AWS_REQUEST_ID, awsRequestId); metadataMap.put(S3ResponseMetadata.HOST_ID, hostId); metadataMap.put(S3ResponseMetadata.CLOUD_FRONT_ID, cloudFrontId); awsResponse.setResponseMetadata(new S3ResponseMetadata(metadataMap)); return awsResponse; }
private String idString(HttpResponse errorResponse) { StringBuilder idString = new StringBuilder(); try { if (errorResponse.getRequest().getHeaders().containsKey(HEADER_SDK_TRANSACTION_ID)) { idString.append("Invocation Id:").append(errorResponse.getRequest().getHeaders().get(HEADER_SDK_TRANSACTION_ID)); } if (errorResponse.getHeaders().containsKey(X_AMZN_REQUEST_ID_HEADER)) { if (idString.length() > 0) { idString.append(", "); } idString.append("Request Id:").append(errorResponse.getHeaders().get(X_AMZN_REQUEST_ID_HEADER)); } } catch (NullPointerException npe){ log.debug("Error getting Request or Invocation ID from response", npe); } return idString.length() > 0 ? idString.toString() : "Unknown"; }
@Override public AmazonWebServiceResponse<HeadBucketResult> handle(HttpResponse response) throws Exception { final AmazonWebServiceResponse<HeadBucketResult> awsResponse = new AmazonWebServiceResponse<HeadBucketResult>(); final HeadBucketResult result = new HeadBucketResult(); result.setBucketRegion(response.getHeaders().get(Headers.S3_BUCKET_REGION)); awsResponse.setResult(result); return awsResponse; } }
@Override public void handle(T result, HttpResponse response) { String restoreHeader = response.getHeaders().get(Headers.RESTORE); if (restoreHeader != null) { result.setRestoreExpirationTime(parseDate(restoreHeader)); Boolean onGoingRestore = parseBoolean(restoreHeader); if (onGoingRestore != null) { result.setOngoingRestore(onGoingRestore); } } }
@Override public void handle(T result, HttpResponse response) { String expirationHeader = response.getHeaders().get(Headers.EXPIRATION); if ( expirationHeader != null ) { result.setExpirationTime(parseDate(expirationHeader)); result.setExpirationTimeRuleId(parseRuleId(expirationHeader)); } }
/** * @see com.amazonaws.http.HttpResponseHandler#handle(com.amazonaws.http.HttpResponse) */ public AmazonWebServiceResponse<S3Object> handle(HttpResponse response) throws Exception { /* * TODO: It'd be nice to set the bucket name and key here, but the information isn't easy to * pull out of the response/request currently. */ S3Object object = new S3Object(); AmazonWebServiceResponse<S3Object> awsResponse = parseResponseMetadata(response); if (response.getHeaders().get(Headers.REDIRECT_LOCATION) != null) { object.setRedirectLocation(response.getHeaders().get(Headers.REDIRECT_LOCATION)); } // If the requester is charged when downloading a object from an // Requester Pays bucket, then this header is set. if (response.getHeaders().get(Headers.REQUESTER_CHARGED_HEADER) != null) { object.setRequesterCharged(true); } if (response.getHeaders().get(Headers.S3_TAGGING_COUNT) != null) { object.setTaggingCount(Integer.parseInt(response.getHeaders().get(Headers.S3_TAGGING_COUNT))); } ObjectMetadata metadata = object.getObjectMetadata(); populateObjectMetadata(response, metadata); object.setObjectContent(new S3ObjectInputStream(response.getContent(), response.getHttpRequest())); awsResponse.setResult(object); return awsResponse; }
private AmazonS3Exception createExceptionFromHeaders( HttpResponse errorResponse, String errorResponseXml) { final Map<String, String> headers = errorResponse.getHeaders(); final int statusCode = errorResponse.getStatusCode(); final AmazonS3ExceptionBuilder exceptionBuilder = new AmazonS3ExceptionBuilder(); exceptionBuilder.setErrorMessage(errorResponse.getStatusText()); exceptionBuilder.setErrorResponseXml(errorResponseXml); exceptionBuilder.setStatusCode(statusCode); exceptionBuilder .setExtendedRequestId(headers.get(Headers.EXTENDED_REQUEST_ID)); exceptionBuilder.setRequestId(headers.get(Headers.REQUEST_ID)); exceptionBuilder.setCloudFrontId(headers.get(Headers.CLOUD_FRONT_ID)); exceptionBuilder .setErrorCode(statusCode + " " + errorResponse.getStatusText()); exceptionBuilder.addAdditionalDetail(Headers.S3_BUCKET_REGION, errorResponse.getHeaders().get(Headers.S3_BUCKET_REGION)); return exceptionBuilder.build(); }