@@ -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
1342813379ds3_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+
1358413595ds3_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