Skip to content

Commit 06d5b8b

Browse files
author
Krish
committed
rename in tests and add amz_id_2 getter.
1 parent de5cfc4 commit 06d5b8b

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

include/aws/s3/s3_client.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ typedef void(aws_s3_client_shutdown_complete_callback_fn)(void *user_data);
262262
* https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax
263263
* If an error occurs, call aws_raise_error(E) with a proper error code and return NULL.
264264
*/
265-
typedef struct aws_string *(aws_s3_meta_request_full_object_checksum_fn)(struct aws_s3_meta_request *meta_request,
265+
typedef struct aws_string *(aws_s3_meta_request_full_object_checksum_fn)(struct aws_s3_meta_request * meta_request,
266266
void *user_data);
267267

268268
enum aws_s3_meta_request_tls_mode {
@@ -429,7 +429,7 @@ typedef int(aws_s3_meta_request_upload_review_fn)(
429429
* @return The aws_s3express_credentials_provider.
430430
*/
431431
typedef struct aws_s3express_credentials_provider *(
432-
aws_s3express_provider_factory_fn)(struct aws_allocator *allocator,
432+
aws_s3express_provider_factory_fn)(struct aws_allocator * allocator,
433433
struct aws_s3_client *client,
434434
aws_simple_completion_callback on_provider_shutdown_callback,
435435
void *shutdown_user_data,
@@ -1390,6 +1390,17 @@ int aws_s3_request_metrics_get_request_attempt_id(
13901390
const struct aws_s3_request_metrics *metrics,
13911391
const struct aws_string **out_request_attempt_id);
13921392

1393+
/**
1394+
* Get the extended request ID from aws_s3_request_metrics.
1395+
* If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised.
1396+
* If available, out_amz_id_2 will be set to a string. Be warned this string's lifetime is tied to the metrics
1397+
* object.
1398+
**/
1399+
AWS_S3_API
1400+
int aws_s3_request_metrics_get_amz_id_2(
1401+
const struct aws_s3_request_metrics *metrics,
1402+
const struct aws_string **out_amz_id_2);
1403+
13931404
/* Get the start time from aws_s3_request_metrics, which is when S3 client prepare the request to be sent. Always
13941405
* available. Timestamp are from `aws_high_res_clock_get_ticks` */
13951406
AWS_S3_API

source/s3_request.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,18 @@ int aws_s3_request_metrics_get_request_attempt_id(
308308
return AWS_OP_SUCCESS;
309309
}
310310

311+
int aws_s3_request_metrics_get_amz_id_2(
312+
const struct aws_s3_request_metrics *metrics,
313+
const struct aws_string **out_amz_id_2) {
314+
AWS_PRECONDITION(metrics);
315+
AWS_PRECONDITION(out_amz_id_2);
316+
if (metrics->req_resp_info_metrics.amz_id_2 == NULL) {
317+
return aws_raise_error(AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE);
318+
}
319+
*out_amz_id_2 = metrics->req_resp_info_metrics.amz_id_2;
320+
return AWS_OP_SUCCESS;
321+
}
322+
311323
void aws_s3_request_metrics_get_start_timestamp_ns(const struct aws_s3_request_metrics *metrics, uint64_t *start_time) {
312324
AWS_PRECONDITION(metrics);
313325
AWS_PRECONDITION(start_time);

tests/s3_mock_server_tests.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ static int s_validate_time_metrics(struct aws_s3_request_metrics *metrics, bool
118118
static int s_validate_create_multipart_upload_metrics(struct aws_s3_request_metrics *metrics) {
119119
struct aws_http_headers *response_headers = NULL;
120120
ASSERT_SUCCESS(aws_s3_request_metrics_get_response_headers(metrics, &response_headers));
121-
const struct aws_string *request_id = NULL;
122-
ASSERT_SUCCESS(aws_s3_request_metrics_get_request_attempt_id(metrics, &request_id));
123-
ASSERT_TRUE(aws_string_eq_c_str(request_id, "12345"));
121+
const struct aws_string *request_attempt_id = NULL;
122+
ASSERT_SUCCESS(aws_s3_request_metrics_get_request_attempt_id(metrics, &request_attempt_id));
123+
ASSERT_TRUE(aws_string_eq_c_str(request_attempt_id, "12345"));
124124
const struct aws_string *ip_address = NULL;
125125
ASSERT_SUCCESS(aws_s3_request_metrics_get_ip_address(metrics, &ip_address));
126126
/* Should be default local ip for ipv6/ipv4 */

0 commit comments

Comments
 (0)