16 #ifndef _MINIO_S3_ARGS_H
17 #define _MINIO_S3_ARGS_H
49 std::map<std::string, std::string> tags;
51 bool legal_hold =
false;
57 std::string version_id;
65 size_t *offset = NULL;
66 size_t *length = NULL;
67 std::string match_etag;
68 std::string not_match_etag;
77 bool object_lock =
false;
89 std::string upload_id;
95 std::string upload_id;
96 std::list<Part> parts;
106 long object_size = -1;
107 size_t part_size = 0;
109 std::string content_type;
113 std::string_view data;
118 std::string upload_id;
119 unsigned int part_number;
120 std::string_view data;
126 std::string upload_id;
127 unsigned int part_number;
138 std::string filename;
145 http::DataCallback data_callback;
146 void *user_arg = NULL;
152 std::string delimiter;
153 bool use_url_encoding_type =
true;
155 std::string start_after;
156 std::string key_marker;
157 unsigned int max_keys = 1000;
159 std::string continuation_token;
160 bool fetch_owner =
false;
161 std::string version_id_marker;
162 bool include_user_metadata =
false;
163 bool recursive =
false;
164 bool use_api_v1 =
false;
165 bool include_versions =
false;
169 std::string delimiter;
170 std::string encoding_type;
171 unsigned int max_keys = 1000;
183 std::string start_after;
184 std::string continuation_token;
186 bool include_user_metadata;
193 std::string key_marker;
194 std::string version_id_marker;
201 std::istream &stream;
203 PutObjectArgs(std::istream &stream,
long objectsize,
long partsize);
211 Directive *metadata_directive = NULL;
212 Directive *tagging_directive = NULL;
218 error::Error BuildHeaders(
size_t object_size, std::string etag);
223 long object_size_ = -1;
228 std::list<ComposeSource> sources;
234 std::string filename;