| 618 | |
| 619 | template <typename ErrorType> |
| 620 | Result<std::string> GetBucketRegionFromError( |
| 621 | const std::string& bucket, const Aws::Client::AWSError<ErrorType>& error) { |
| 622 | std::string region = GetBucketRegionFromHeaders(error.GetResponseHeaders()); |
| 623 | if (!region.empty()) { |
| 624 | return region; |
| 625 | } else if (error.GetResponseCode() == Aws::Http::HttpResponseCode::NOT_FOUND) { |
| 626 | return Status::IOError("Bucket '", bucket, "' not found"); |
| 627 | } else { |
| 628 | return ErrorToStatus( |
| 629 | std::forward_as_tuple("When resolving region for bucket '", bucket, "': "), |
| 630 | "HeadBucket", error); |
| 631 | } |
| 632 | } |
| 633 | |
| 634 | #if ARROW_AWS_SDK_VERSION_CHECK(1, 11, 212) |
| 635 | // HeadBucketResult::GetBucketRegion appeared in AWS SDK 1.11.212 |
nothing calls this directly
no test coverage detected