func retrying()

in Sources/OSS/Internal/RetryerMiddleware.swift [8:25]


    func retrying(request _: RequestMessage, context: ExecuteContext, error: Error) {
        // fix time
        guard let serverError = error as? ServerError else {
            return
        }
        if serverError.code == "RequestTimeTooSkewed" ||
            (serverError.code == "InvalidArgument" &&
                serverError.message == "Invalid signing date in Authorization header.")
        {
            if let time = serverError.errorFields["ServerTime"] {
                let data = DateFormatter.iso8601DateTimeSeconds.date(from: time)
                context.signingContext?.clockOffset = data?.timeIntervalSince(Date())
            } else if let time = serverError.headers[caseInsensitive: "Date"] {
                let data = DateFormatter.rfc5322DateTime.date(from: time)
                context.signingContext?.clockOffset = data?.timeIntervalSince(Date())
            }
        }
    }