com.amazonaws.http.HttpResponse.getHeaders()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(101)

本文整理了Java中com.amazonaws.http.HttpResponse.getHeaders()方法的一些代码示例,展示了HttpResponse.getHeaders()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HttpResponse.getHeaders()方法的具体详情如下:
包路径:com.amazonaws.http.HttpResponse
类名称:HttpResponse
方法名:getHeaders

HttpResponse.getHeaders介绍

[英]Returns the HTTP headers returned with this response.
[中]

代码示例

代码示例来源:origin: aws/aws-sdk-java

@Override
public String getHeader(String header) {
  if (httpResponse == null) return null;
  return httpResponse.getHeaders().get(header);
}

代码示例来源:origin: aws/aws-sdk-java

private static String getServingRegionHeader(HttpResponse response) {
    return response.getHeaders().get(Headers.S3_SERVING_REGION);
  }
}

代码示例来源:origin: aws/aws-sdk-java

private static String getRequestId(HttpResponse response) {
    return response.getHeaders().get(X_AMZN_REQUEST_ID_HEADER);
  }
}

代码示例来源:origin: aws/aws-sdk-java

@Override
  public void handle(T result, HttpResponse response) {
    result.setRestoreOutputPath(response.getHeaders().get(Headers.S3_RESTORE_OUTPUT_PATH));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@Override
  public void handle(GetObjectTaggingResult result, HttpResponse response) {
    result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@Override
  public void handle(T result, HttpResponse response) {
    result.setRequesterCharged(response.getHeaders().get(Headers.REQUESTER_CHARGED_HEADER) != null);
  }
}

代码示例来源:origin: aws/aws-sdk-java

@Override
  public void handle(T result, HttpResponse response) {
    result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@Override
  public void handle(SetObjectTaggingResult result, HttpResponse response) {
    result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@Override
  public void handle(DeleteObjectTaggingResult result, HttpResponse response) {
    result.setVersionId(response.getHeaders().get(Headers.S3_VERSION_ID));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@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));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@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));
  }
}

代码示例来源:origin: aws/aws-sdk-java

@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));
  }
}

代码示例来源:origin: aws/aws-sdk-java

/**
 * 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;
}

代码示例来源:origin: aws/aws-sdk-java

/**
 * 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;
}

代码示例来源:origin: aws/aws-sdk-java

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";
}

代码示例来源:origin: aws/aws-sdk-java

@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;
  }
}

代码示例来源:origin: aws/aws-sdk-java

@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);
    }
  }
}

代码示例来源:origin: aws/aws-sdk-java

@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));
  }
}

代码示例来源:origin: aws/aws-sdk-java

/**
 * @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;
}

代码示例来源:origin: aws/aws-sdk-java

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();
}

相关文章