29 #include "s3_headers.h"
31 using namespace Minio;
35 std::string endpoint, keyID, secret;
37 std::list<Minio::S3::Bucket> buckets;
39 std::string SignV2Request(
const Minio::S3ClientIO & io,
const std::string & uri,
const std::string & mthd);
41 void Submit(
const std::string & url,
const std::string & uri,
44 static std::string ParseCreateMultipartUpload(
const std::string & xml);
45 static void ParseBucketsList(std::list<Minio::S3::Bucket> & buckets,
const std::string & xml);
46 static void ParseObjectsList(std::list<Minio::S3::Object> & objects,
const std::string & xml);
49 S3Client(
const std::string & endpoint,
const std::string & kid,
const std::string & sk);
52 void SetVerbosity(
int v) {verbosity = v;}
57 void PutObject(
const std::string & bkt,
const std::string & key,
61 void PutObject(
const std::string & bkt,
const std::string & key,
62 const std::string & localpath,
66 void GetObject(
const std::string & bkt,
const std::string & key,
67 const int & part_number,
71 void GetObject(
const std::string & bkt,
const std::string & key,
76 void StatObject(
const std::string & bkt,
const std::string & key,
80 void DeleteObject(
const std::string & bkt,
const std::string & key,
84 void CopyObject(
const std::string & srcbkt,
const std::string & srckey,
85 const std::string & dstbkt,
const std::string & dstkey,
bool copyMD,
92 void MakeBucket(
const std::string & bkt,
Minio::S3ClientIO & io, S3Connection ** reqPtr = NULL);
95 void ListObjects(
const std::string & bkt,
Minio::S3ClientIO & io, S3Connection ** reqPtr = NULL);
98 void RemoveBucket(
const std::string & bkt,
Minio::S3ClientIO & io, S3Connection ** reqPtr = NULL);
103 const std::string & key,
104 const int & part_number,
105 const std::string & upload_id,
107 S3Connection ** reqPtr = NULL);
110 std::string CreateMultipartUpload(
const std::string & bkt,
111 const std::string & key,
113 S3Connection ** reqPtr = NULL);
115 void AbortMultipartUpload(
const std::string & bkt,
116 const std::string & key,
117 const std::string & upload_id,
118 S3Connection ** reqPtr = NULL);
120 void CompleteMultipartUpload(
const std::string & bkt,
121 const std::string & key,
122 const std::string & upload_id,
123 const std::list<Minio::S3::CompletePart> & parts,
125 S3Connection ** reqPtr = NULL);