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

x33g5p2x  于2022-01-15 转载在 其他  
字(3.3k)|赞(0)|评价(0)|浏览(117)

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

AmazonHttpClient.getServerDateFromException介绍

[英]Returns date string from the exception message body in form of yyyyMMdd'T'HHmmss'Z' We needed to extract date from the message body because SQS is the only service that does not provide date header in the response. Example, when device time is behind than the server time than we get a string that looks something like this: "Signature expired: 20130401T030113Z is now earlier than 20130401T034613Z (20130401T040113Z - 15 min.)"
[中]以yyyyMMdd'T'HHmmss'Z'的形式从异常消息正文返回日期字符串。我们需要从消息正文中提取日期,因为SQS是响应中唯一不提供日期标头的服务。例如,当设备时间落后于服务器时间时,我们会得到如下字符串:“签名过期:201301T030113Z现在早于201301401T034613Z(201301401T04113Z-15分钟)。”

代码示例

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

int parseClockSkewOffset(HttpResponse response, AmazonServiceException exception) {
  final Date deviceDate = new Date();
  Date serverDate = null;
  String serverDateStr = null;
  final String responseDateHeader = response.getHeaders().get("Date");
  try {
    if (responseDateHeader == null || responseDateHeader.isEmpty()) {
      // SQS doesn't return Date header
      serverDateStr = getServerDateFromException(exception.getMessage());
      serverDate = DateUtils.parseCompressedISO8601Date(serverDateStr);
    } else {
      serverDateStr = responseDateHeader;
      serverDate = DateUtils.parseRFC822Date(serverDateStr);
    }
  } catch (final RuntimeException e) {
    log.warn("Unable to parse clock skew offset from response: "
        + serverDateStr,
        e);
    return 0;
  }
  final long diff = deviceDate.getTime() - serverDate.getTime();
  return (int) (diff / TIME_MILLISEC);
}

代码示例来源:origin: com.gluonhq/aws-java-sdk-core

int parseClockSkewOffset(HttpResponse response, AmazonServiceException exception) {
  final Date deviceDate = new Date();
  Date serverDate = null;
  String serverDateStr = null;
  final String responseDateHeader = response.getHeaders().get("Date");
  try {
    if (responseDateHeader == null || responseDateHeader.isEmpty()) {
      // SQS doesn't return Date header
      serverDateStr = getServerDateFromException(exception.getMessage());
      serverDate = DateUtils.parseCompressedISO8601Date(serverDateStr);
    } else {
      serverDateStr = responseDateHeader;
      serverDate = DateUtils.parseRFC822Date(serverDateStr);
    }
  } catch (final RuntimeException e) {
    log.warn("Unable to parse clock skew offset from response: "
        + serverDateStr,
        e);
    return 0;
  }
  final long diff = deviceDate.getTime() - serverDate.getTime();
  return (int) (diff / TIME_MILLISEC);
}

代码示例来源:origin: com.amazonaws/aws-android-sdk-core

int parseClockSkewOffset(HttpResponse response, AmazonServiceException exception) {
  final Date deviceDate = new Date();
  Date serverDate = null;
  String serverDateStr = null;
  final String responseDateHeader = response.getHeaders().get("Date");
  try {
    if (responseDateHeader == null || responseDateHeader.isEmpty()) {
      // SQS doesn't return Date header
      serverDateStr = getServerDateFromException(exception.getMessage());
      serverDate = DateUtils.parseCompressedISO8601Date(serverDateStr);
    } else {
      serverDateStr = responseDateHeader;
      serverDate = DateUtils.parseRFC822Date(serverDateStr);
    }
  } catch (final RuntimeException e) {
    log.warn("Unable to parse clock skew offset from response: "
        + serverDateStr,
        e);
    return 0;
  }
  final long diff = deviceDate.getTime() - serverDate.getTime();
  return (int) (diff / TIME_MILLISEC);
}

相关文章