Skip to content

Commit 62881cb

Browse files
author
DenverM80
committed
fix get_objects_request passing of user_data and callback
1 parent ee24114 commit 62881cb

File tree

1 file changed

+61
-50
lines changed

1 file changed

+61
-50
lines changed

src/ds3.c

Lines changed: 61 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -13375,55 +13375,6 @@ static ds3_error* _parse_top_level_ds3_list_multi_part_uploads_result_response(c
1337513375
return error;
1337613376
}
1337713377

13378-
ds3_error* ds3_head_bucket_request(const ds3_client* client, const ds3_request* request) {
13379-
if (client == NULL || request == NULL) {
13380-
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "All arguments must be filled in for request processing");
13381-
}
13382-
if (g_ascii_strncasecmp(request->path->value, "//", 2) == 0) {
13383-
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The bucket name parameter is required.");
13384-
}
13385-
13386-
return _internal_request_dispatcher(client, request, NULL, NULL, NULL, NULL, NULL);
13387-
}
13388-
13389-
ds3_error* ds3_head_object_request(const ds3_client* client, const ds3_request* request, ds3_metadata** _metadata) {
13390-
ds3_error* error;
13391-
ds3_string_multimap* return_headers;
13392-
ds3_metadata* metadata;
13393-
13394-
int num_slashes = num_chars_in_ds3_str(request->path, '/');
13395-
if (num_slashes < 2 || ((num_slashes == 2) && ('/' == request->path->value[request->path->size-1]))) {
13396-
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The object name parameter is required.");
13397-
} else if (g_ascii_strncasecmp(request->path->value, "//", 2) == 0) {
13398-
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The bucket name parameter is required.");
13399-
}
13400-
13401-
error = _internal_request_dispatcher(client, request, NULL, NULL, NULL, NULL, &return_headers);
13402-
13403-
if (error == NULL) {
13404-
metadata = _init_metadata(return_headers);
13405-
*_metadata = metadata;
13406-
ds3_string_multimap_free(return_headers);
13407-
}
13408-
13409-
return error;
13410-
}
13411-
13412-
13413-
ds3_error* ds3_get_object_with_metadata(const ds3_client* client, const ds3_request* request, void* user_data, size_t (* callback)(void*, size_t, size_t, void*), ds3_metadata** _metadata) {
13414-
ds3_error* error;
13415-
ds3_string_multimap* return_headers;
13416-
ds3_metadata* metadata;
13417-
13418-
error = _internal_request_dispatcher(client, request, user_data, callback, NULL, NULL, &return_headers);
13419-
if (error == NULL) {
13420-
metadata = _init_metadata(return_headers);
13421-
*_metadata = metadata;
13422-
ds3_string_multimap_free(return_headers);
13423-
}
13424-
13425-
return error;
13426-
}
1342713378

1342813379
ds3_error* ds3_abort_multi_part_upload_request(const ds3_client* client, const ds3_request* request) {
1342913380

@@ -13570,7 +13521,26 @@ ds3_error* ds3_get_service_request(const ds3_client* client, const ds3_request*
1357013521

1357113522
return _parse_top_level_ds3_list_all_my_buckets_result_response(client, request, response, xml_blob);
1357213523
}
13573-
ds3_error* ds3_get_object_request(const ds3_client* client, const ds3_request* request, void* user_data, size_t (*callback)(void*, size_t, size_t, void*)) {
13524+
13525+
ds3_error* ds3_get_object_request(const ds3_client* client, const ds3_request* request, void* user_data, size_t (* callback)(void*, size_t, size_t, void*)) {
13526+
ds3_error* error;
13527+
13528+
int num_slashes = num_chars_in_ds3_str(request->path, '/');
13529+
if (num_slashes < 2 || ((num_slashes == 2) && ('/' == request->path->value[request->path->size-1]))) {
13530+
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The bucket name parameter is required.");
13531+
} else if (g_ascii_strncasecmp(request->path->value, "//", 2) == 0) {
13532+
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The object name parameter is required.");
13533+
}
13534+
13535+
error = _internal_request_dispatcher(client, request, user_data, callback, NULL, NULL, NULL);
13536+
13537+
return error;
13538+
}
13539+
13540+
ds3_error* ds3_get_object_with_metadata(const ds3_client* client, const ds3_request* request, void* user_data, size_t (* callback)(void*, size_t, size_t, void*), ds3_metadata** _metadata) {
13541+
ds3_error* error;
13542+
ds3_string_multimap* return_headers;
13543+
ds3_metadata* metadata;
1357413544

1357513545
int num_slashes = num_chars_in_ds3_str(request->path, '/');
1357613546
if (num_slashes < 2 || ((num_slashes == 2) && ('/' == request->path->value[request->path->size-1]))) {
@@ -13579,8 +13549,49 @@ ds3_error* ds3_get_object_request(const ds3_client* client, const ds3_request* r
1357913549
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The object name parameter is required.");
1358013550
}
1358113551

13552+
error = _internal_request_dispatcher(client, request, user_data, callback, NULL, NULL, &return_headers);
13553+
if (error == NULL) {
13554+
metadata = _init_metadata(return_headers);
13555+
*_metadata = metadata;
13556+
ds3_string_multimap_free(return_headers);
13557+
}
13558+
13559+
return error;
13560+
}
13561+
ds3_error* ds3_head_bucket_request(const ds3_client* client, const ds3_request* request) {
13562+
if (client == NULL || request == NULL) {
13563+
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "All arguments must be filled in for request processing");
13564+
}
13565+
if (g_ascii_strncasecmp(request->path->value, "//", 2) == 0) {
13566+
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The bucket name parameter is required.");
13567+
}
13568+
1358213569
return _internal_request_dispatcher(client, request, NULL, NULL, NULL, NULL, NULL);
1358313570
}
13571+
13572+
ds3_error* ds3_head_object_request(const ds3_client* client, const ds3_request* request, ds3_metadata** _metadata) {
13573+
ds3_error* error;
13574+
ds3_string_multimap* return_headers;
13575+
ds3_metadata* metadata;
13576+
13577+
int num_slashes = num_chars_in_ds3_str(request->path, '/');
13578+
if (num_slashes < 2 || ((num_slashes == 2) && ('/' == request->path->value[request->path->size-1]))) {
13579+
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The object name parameter is required.");
13580+
} else if (g_ascii_strncasecmp(request->path->value, "//", 2) == 0) {
13581+
return ds3_create_error(DS3_ERROR_MISSING_ARGS, "The bucket name parameter is required.");
13582+
}
13583+
13584+
error = _internal_request_dispatcher(client, request, NULL, NULL, NULL, NULL, &return_headers);
13585+
13586+
if (error == NULL) {
13587+
metadata = _init_metadata(return_headers);
13588+
*_metadata = metadata;
13589+
ds3_string_multimap_free(return_headers);
13590+
}
13591+
13592+
return error;
13593+
}
13594+
1358413595
ds3_error* ds3_initiate_multi_part_upload_request(const ds3_client* client, const ds3_request* request, ds3_initiate_multipart_upload_result_response** response) {
1358513596
ds3_error* error;
1358613597
GByteArray* xml_blob;

0 commit comments

Comments
 (0)