Issue:
It was difficult to map errors from aws-c-s3 into errors in other AWS SDKs without knowing exactly which HTTP request failed.
For example, if AWS_S3_META_REQUEST_TYPE_PUT_OBJECT fails, they need to know whether it was a "PutObject", "CreateMultipartUpload", "UploadPart", or "CompleteMultipartUpload" HTTP request that failed.
Description of changes:
Report the S3 operation name of the specific HTTP request that failed (e.g. "CreateMultipartUpload").
Likewise, report that operation name in metrics.
For AWS_S3_META_REQUEST_TYPE_DEFAULT, where aws-c-s3 isn't sure what operation is being performed, allow the user to pass in the operation name.
Internally, pass request_type and operation_name around directly. Instead of querying them via vtable gymnastics, which I found confusing and error-prone.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Issue: It was difficult to map errors from aws-c-s3 into errors in other AWS SDKs without knowing exactly which HTTP request failed.
For example, if
AWS_S3_META_REQUEST_TYPE_PUT_OBJECT
fails, they need to know whether it was a "PutObject", "CreateMultipartUpload", "UploadPart", or "CompleteMultipartUpload" HTTP request that failed.Description of changes:
AWS_S3_META_REQUEST_TYPE_DEFAULT
, where aws-c-s3 isn't sure what operation is being performed, allow the user to pass in the operation name.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.