| 678 | |
| 679 | template <typename ErrorType> |
| 680 | Result<std::string> GetBucketRegionFromError( |
| 681 | const std::string& bucket, const Aws::Client::AWSError<ErrorType>& error) { |
| 682 | std::string region = GetBucketRegionFromHeaders(error.GetResponseHeaders()); |
| 683 | if (!region.empty()) { |
| 684 | return region; |
| 685 | } else if (error.GetResponseCode() == Aws::Http::HttpResponseCode::NOT_FOUND) { |
| 686 | return Status::IOError("Bucket '", bucket, "' not found"); |
| 687 | } else { |
| 688 | return ErrorToStatus( |
| 689 | std::forward_as_tuple("When resolving region for bucket '", bucket, "': "), |
| 690 | "HeadBucket", error); |
| 691 | } |
| 692 | } |
| 693 | |
| 694 | #if ARROW_AWS_SDK_VERSION_CHECK(1, 11, 212) |
| 695 | // HeadBucketResult::GetBucketRegion appeared in AWS SDK 1.11.212 |
nothing calls this directly
no test coverage detected