44#include <stdio.h>
55#include <sys/types.h>
66#include <sys/stat.h>
7- #include < ds3.h>
7+ #include " ds3.h"
88
99int main (int args , char * argv []) {
10+ /*
11+ // Get Service
12+
1013 ds3_get_service_response *response;
11- uint64_t i,n ;
14+ uint64_t i;
1215
13- ds3_creds * creds = ds3_create_creds (" <access_key>" ," <secret_key>" );
16+ // Setup client credentials and then the actual client itself.
17+ ds3_creds * creds = ds3_create_creds("cnlhbg==","ZIjGDQAs");
1418 ds3_client * client = ds3_create_client("http://192.168.56.101:8080", creds);
15-
16- ds3_client_proxy (client, " 192.168.56.1:8888" );
17-
19+
20+ // You can optionally set a proxy server that a request should be sent through
21+ //ds3_client_proxy(client, "192.168.56.1:8888");
22+
23+ // Create the get service request. All requests to a DS3 appliance start this way.
24+ // All ds3_init_* functions return a ds3_request struct
25+
1826 ds3_request* request = ds3_init_get_service();
27+
28+ // This performs the request to a DS3 appliance.
29+ // If there is an error 'error' will not be NULL
30+ // If the request completed successfully then 'error' will be NULL
1931 ds3_error* error = ds3_get_service(client, request, &response);
2032 ds3_free_request(request);
21-
33+
34+ // Check that the request completed successfully
2235 if(error != NULL) {
2336 if(error->error != NULL) {
2437 printf("Got an error (%lu): %s\n", error->error->status_code, error->message);
@@ -40,24 +53,129 @@ int main (int args, char * argv[]) {
4053 return 1;
4154 }
4255
43- if (response->num_buckets == NULL ) {
44- printf (" Num buckets is null\n " );
56+ if(response->num_buckets == 0) {
57+ printf("No buckets returned\n");
58+ ds3_free_service_response(response);
4559 ds3_free_creds(creds);
4660 ds3_free_client(client);
47- return 1 ;
61+ return 0 ;
4862 }
4963
5064 for (i = 0; i < response->num_buckets; i++) {
5165 ds3_bucket bucket = response->buckets[i];
5266 printf("Bucket: (%s) created on %s\n", bucket.name, bucket.creation_date);
5367 }
54-
68+
5569 ds3_free_service_response(response);
5670
71+ ds3_free_creds(creds);
72+ ds3_free_client(client);
73+ ds3_cleanup();
74+
75+ */
76+
5777 /*
78+ //Create Bucket
79+
80+ ds3_creds * creds = ds3_create_creds("cnlhbg==","ZIjGDQAs");
81+ ds3_client * client = ds3_create_client("http://192.168.56.101:8080", creds);
82+
83+ //ds3_client_proxy(client, "192.168.56.1:8888");
84+ char * bucket = "books";
85+ ds3_request * create_bucket_request = ds3_init_put_bucket(bucket);
86+ ds3_error* error = ds3_put_bucket(client, create_bucket_request);
87+ ds3_free_request(create_bucket_request);
5888
89+ if(error != NULL) {
90+ if(error->error != NULL) {
91+ printf("Got an error (%lu): %s\n", error->error->status_code, error->message);
92+ printf("Message Body: %s\n", error->error->error_body);
93+ }
94+ else {
95+ printf("Got a runtime error: %s\n", error->message);
96+ }
97+ ds3_free_error(error);
98+ ds3_free_creds(creds);
99+ ds3_free_client(client);
100+ return 1;
101+ }
102+
103+ printf("Successfully created bucket: %s\n", bucket);
104+ ds3_free_creds(creds);
105+ ds3_free_client(client);
106+ ds3_cleanup();
107+ */
108+
109+ ///*
110+ // Get Bucket
111+
112+ ds3_get_bucket_response * response ;
113+ uint64_t i ;
114+
115+ // Setup client credentials and then the actual client itself.
116+ ds3_creds * creds = ds3_create_creds ("cnlhbg==" ,"ZIjGDQAs" );
117+ ds3_client * client = ds3_create_client ("http://192.168.56.101:8080" , creds );
118+
119+ // You can optionally set a proxy server that a request should be sent through
120+ //ds3_client_proxy(client, "192.168.56.1:8888");
121+
122+ char * bucket = "books" ;
123+
124+ // Create the get bucket request.
125+ ds3_request * request = ds3_init_get_bucket (bucket );
126+
127+ // This performs the request to a DS3 appliance.
128+ // If there is an error 'error' will not be NULL
129+ // If the request completed successfully then 'error' will be NULL
130+ ds3_error * error = ds3_get_bucket (client , request , & response );
131+ ds3_free_request (request );
132+
133+ // Check that the request completed successfully
134+ if (error != NULL ) {
135+ if (error -> error != NULL ) {
136+ printf ("Got an error (%lu): %s\n" , error -> error -> status_code , error -> message );
137+ printf ("Message Body: %s\n" , error -> error -> error_body );
138+ }
139+ else {
140+ printf ("Got a runtime error: %s\n" , error -> message );
141+ }
142+ ds3_free_error (error );
143+ ds3_free_creds (creds );
144+ ds3_free_client (client );
145+ return 1 ;
146+ }
147+
148+ if (response == NULL ) {
149+ printf ("Response was null\n" );
150+ ds3_free_creds (creds );
151+ ds3_free_client (client );
152+ return 1 ;
153+ }
154+
155+ if (response -> num_objects == 0 ) {
156+ printf ("No objects returned\n" );
157+ ds3_free_bucket_response (response );
158+ ds3_free_creds (creds );
159+ ds3_free_client (client );
160+ return 0 ;
161+ }
162+
163+ for (i = 0 ; i < response -> num_objects ; i ++ ) {
164+ ds3_object object = response -> objects [i ];
165+ printf ("Object: (%s) created on %s\n" , object .name , object .last_modified );
166+ }
167+
168+ ds3_free_bucket_response (response );
169+
170+ ds3_free_creds (creds );
171+ ds3_free_client (client );
172+ ds3_cleanup ();
173+
174+ //*/
175+
176+ /*
59177 ds3_bulk_response *response;
60- char * bucket = "books6 ";
178+ char * bucket = "books ";
61179
62180 const char * files[] = {"huckfinn.txt", "ulysses.txt"};
63181
@@ -93,10 +211,6 @@ int main (int args, char * argv[]) {
93211
94212 ds3_free_bucket_response(bucket_response);
95213
96- ds3_request * create_bucket_request = ds3_init_put_bucket(bucket);
97-
98- ds3_put_bucket(client, create_bucket_request);
99- ds3_free_request(create_bucket_request);
100214
101215 char * object = "huckfinn.txt";
102216
@@ -152,10 +266,6 @@ int main (int args, char * argv[]) {
152266 ds3_free_service_response(response);
153267 */
154268
155- clean_up:
156- ds3_free_creds (creds);
157- ds3_free_client (client);
158- ds3_cleanup ();
159269
160270 return 0 ;
161271}
0 commit comments