Add MinIO compatibility errors #34
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Issue #, if available:
N/A (Feature enhancement for MinIO compatibility)
Description of changes:
Added MinIO compatibility support to AWS S3 C++ SDK by implementing error code mapping for MinIO-specific errors. This change allows the SDK to properly handle and retry MinIO server errors when used with MinIO deployments instead of AWS S3.
Changes include:
Added 10 MinIO-specific error hash constants (InternalError, XMinioServerNotInitialized, XMinioIAMNotInitialized, XMinioBucketMetadataNotInitialized, ServerBusy, TooManyRequests, SlowDownRead, SlowDownWrite, RequestTimeTooSkewed, RequestTimeout, ClientDisconnected)
Implemented error mapping logic that converts MinIO errors to appropriate AWS CoreErrors with correct retry behavior
Maintained backward compatibility - existing AWS S3 error handling is unchanged
Properly categorized MinIO errors as retryable/non-retryable based on their nature
Check all that applies:
[✓] Did a review by yourself.
[✓] Added proper tests to cover this PR. (If tests are not applicable, explain.)
Tests should cover MinIO error code mapping and retry behavior verification
[✓] Checked if this PR is a breaking (APIs have been changed) change.
This is not a breaking change - only adds new error mappings while preserving existing behavior
[✓] Checked if this PR will not introduce cross-platform inconsistent behavior.
Error string mapping is platform-agnostic
[✓] Checked if this PR would require a ReadMe/Wiki update.
[✓] Linux
[] Windows
[] Android
[] MacOS
[] IOS
[] Other Platforms
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.