1- // Copyright (c) 2017, Tencent Inc.
1+ // Copyright (c) 2017, Tencent Inc.
22// All rights reserved.
33//
44// Author: sevenyou <[email protected] >@@ -41,7 +41,8 @@ class ObjectOp : public BaseOp {
4141
4242 std::string GetResumableUploadID (const PutObjectByFileReq& originReq,
4343 const std::string& bucket_name,
44- const std::string& object_name);
44+ const std::string& object_name,
45+ bool change_backup_domain = false );
4546
4647 bool CheckUploadPart (const PutObjectByFileReq& req,
4748 const std::string& bucket_name,
@@ -59,7 +60,7 @@ class ObjectOp : public BaseOp {
5960 // / \param response HeadObject返回
6061 // /
6162 // / \return 返回HTTP请求的状态码及错误信息
62- CosResult HeadObject (const HeadObjectReq& req, HeadObjectResp* resp);
63+ CosResult HeadObject (const HeadObjectReq& req, HeadObjectResp* resp, bool change_backup_domain = false );
6364
6465 // / \brief 下载Bucket中的一个文件至流中
6566 // /
@@ -68,7 +69,7 @@ class ObjectOp : public BaseOp {
6869 // /
6970 // / \return 返回HTTP请求的状态码及错误信息
7071 CosResult GetObject (const GetObjectByStreamReq& req,
71- GetObjectByStreamResp* resp);
72+ GetObjectByStreamResp* resp, bool change_backup_domain = false );
7273
7374 // / \brief 下载Bucket中的一个文件到本地
7475 // /
@@ -77,7 +78,7 @@ class ObjectOp : public BaseOp {
7778 // /
7879 // / \return 返回HTTP请求的状态码及错误信息
7980 CosResult GetObject (const GetObjectByFileReq& req, GetObjectByFileResp* resp,
80- const SharedTransferHandler& handler = nullptr );
81+ const SharedTransferHandler& handler = nullptr , bool change_backup_domain = false );
8182
8283 // / \brief 多线程下载Bucket中的一个文件到本地
8384 // /
@@ -95,7 +96,7 @@ class ObjectOp : public BaseOp {
9596 // /
9697 // / \return 返回HTTP请求的状态码及错误信息
9798 CosResult PutObject (const PutObjectByFileReq& req, PutObjectByFileResp* resp,
98- const SharedTransferHandler& handler = nullptr );
99+ const SharedTransferHandler& handler = nullptr , bool change_backup_domain = false );
99100
100101 // / \brief 将指定流上传至指定Bucket中
101102 // /
@@ -104,23 +105,23 @@ class ObjectOp : public BaseOp {
104105 // /
105106 // / \return 返回HTTP请求的状态码及错误信息
106107 CosResult PutObject (const PutObjectByStreamReq& req,
107- PutObjectByStreamResp* resp, const SharedTransferHandler& handler=nullptr );
108+ PutObjectByStreamResp* resp, const SharedTransferHandler& handler=nullptr , bool change_backup_domain = false );
108109
109110 // / \brief 删除Object
110111 // /
111112 // / \param req DeleteObject请求
112113 // / \param resp DeleteObject返回
113114 // /
114115 // / \return 本次请求的调用情况(如状态码等)
115- CosResult DeleteObject (const DeleteObjectReq& req, DeleteObjectResp* resp);
116+ CosResult DeleteObject (const DeleteObjectReq& req, DeleteObjectResp* resp, bool change_backup_domain = false );
116117
117118 // / \brief 批量删除Object
118119 // /
119120 // / \param req DeleteObjects请求
120121 // / \param resp DeleteObjects返回
121122 // /
122123 // / \return 本次请求的调用情况(如状态码等)
123- CosResult DeleteObjects (const DeleteObjectsReq& req, DeleteObjectsResp* resp);
124+ CosResult DeleteObjects (const DeleteObjectsReq& req, DeleteObjectsResp* resp, bool change_backup_domain = false );
124125
125126 // / \brief
126127 // / 请求实现初始化分片上传,成功执行此请求以后会返回UploadId用于后续的Upload
@@ -131,7 +132,8 @@ class ObjectOp : public BaseOp {
131132 // /
132133 // / \return 返回HTTP请求的状态码及错误信息
133134 CosResult InitMultiUpload (const InitMultiUploadReq& req,
134- InitMultiUploadResp* resp);
135+ InitMultiUploadResp* resp,
136+ bool change_backup_domain = false );
135137
136138 // / \brief 初始化以后的分块上传,支持的块的数量为1到10000,块的大小为1MB到5GB
137139 // /
@@ -140,7 +142,8 @@ class ObjectOp : public BaseOp {
140142 // /
141143 // / \return 返回HTTP请求的状态码及错误信息
142144 CosResult UploadPartData (const UploadPartDataReq& req,
143- UploadPartDataResp* resp);
145+ UploadPartDataResp* resp,
146+ bool change_backup_domain = false );
144147
145148 // / \brief
146149 // / 初始化以后的分块复制,实现将一个文件的分块内容从源路径复制到目标路径。
@@ -152,7 +155,8 @@ class ObjectOp : public BaseOp {
152155 // /
153156 // / \return 返回HTTP请求的状态码及错误信息
154157 CosResult UploadPartCopyData (const UploadPartCopyDataReq& req,
155- UploadPartCopyDataResp* resp);
158+ UploadPartCopyDataResp* resp,
159+ bool change_backup_domain = false );
156160
157161 // / \brief 完成整个分块上传。当使用 Upload Parts 上传完所有块以后,
158162 // / 必须调用该 API 来完成整个文件的分块上传
@@ -162,7 +166,8 @@ class ObjectOp : public BaseOp {
162166 // /
163167 // / \return 返回HTTP请求的状态码及错误信息
164168 CosResult CompleteMultiUpload (const CompleteMultiUploadReq& req,
165- CompleteMultiUploadResp* resp);
169+ CompleteMultiUploadResp* resp,
170+ bool change_backup_domain = false );
166171
167172 // / \brief 异步多线程上传
168173 // / \param request MultiUploadObject请求
@@ -172,7 +177,8 @@ class ObjectOp : public BaseOp {
172177 // / \return result
173178 CosResult MultiUploadObject (const PutObjectByFileReq& req,
174179 MultiPutObjectResp* resp,
175- const SharedTransferHandler& handler = nullptr );
180+ const SharedTransferHandler& handler = nullptr ,
181+ bool change_backup_domain = false );
176182
177183 // / \brief 舍弃一个分块上传并删除已上传的块
178184 // /
@@ -181,23 +187,24 @@ class ObjectOp : public BaseOp {
181187 // /
182188 // / \return
183189 CosResult AbortMultiUpload (const AbortMultiUploadReq& req,
184- AbortMultiUploadResp* resp);
190+ AbortMultiUploadResp* resp,
191+ bool change_backup_domain = false );
185192
186193 // / \brief 查询特定分块上传中的已上传的块
187194 // /
188195 // / \param req ListParts请求
189196 // / \param resp ListParts返回
190197 // /
191198 // / \return result
192- CosResult ListParts (const ListPartsReq& req, ListPartsResp* resp);
199+ CosResult ListParts (const ListPartsReq& req, ListPartsResp* resp, bool change_backup_domain = false );
193200
194201 // / \brief 列出Object下的ACL
195202 // /
196203 // / \param req GetObjectACL请求
197204 // / \param resp GetObjectACL返回
198205 // /
199206 // / \return 本次请求的调用情况(如状态码等)
200- CosResult GetObjectACL (const GetObjectACLReq& req, GetObjectACLResp* resp);
207+ CosResult GetObjectACL (const GetObjectACLReq& req, GetObjectACLResp* resp, bool change_backup_domain = false );
201208
202209 // / \brief 增加/替换Object下的ACL, 可以通过Header或者Body传入ACL信息
203210 // / 注意Header 和 Body 只能选择其中一种,否则响应返回会冲突
@@ -206,7 +213,7 @@ class ObjectOp : public BaseOp {
206213 // / \param resp PutObjectACL返回
207214 // /
208215 // / \return 本次请求的调用情况(如状态码等)
209- CosResult PutObjectACL (const PutObjectACLReq& req, PutObjectACLResp* resp);
216+ CosResult PutObjectACL (const PutObjectACLReq& req, PutObjectACLResp* resp, bool change_backup_domain = false );
210217
211218 // / \brief 已存在的Object设置标签.
212219 // /
@@ -241,7 +248,7 @@ class ObjectOp : public BaseOp {
241248 // / \param resp PutObjectCopy返回
242249 // /
243250 // / \return 本次请求的调用情况(如状态码等)
244- CosResult PutObjectCopy (const PutObjectCopyReq& req, PutObjectCopyResp* resp);
251+ CosResult PutObjectCopy (const PutObjectCopyReq& req, PutObjectCopyResp* resp, bool change_backup_domain = false );
245252
246253 // / \brief 复制文件,实现将一个文件的分块内容从源路径复制到目标路径。
247254 // / 通过指定 x-cos-copy-source 来指定源文件,x-cos-copy-source-range
@@ -251,7 +258,7 @@ class ObjectOp : public BaseOp {
251258 // / \param response Copy返回
252259 // /
253260 // / \return 返回HTTP请求的状态码及错误信息
254- CosResult Copy (const CopyReq& req, CopyResp* resp);
261+ CosResult Copy (const CopyReq& req, CopyResp* resp, bool change_backup_domain = false );
255262
256263 // / \brief 对一个通过 COS 归档为 archive 类型的对象进行恢复
257264 // /
@@ -260,14 +267,16 @@ class ObjectOp : public BaseOp {
260267 // /
261268 // / \return 返回HTTP请求的状态码及错误信息
262269 CosResult PostObjectRestore (const PostObjectRestoreReq& req,
263- PostObjectRestoreResp* resp);
270+ PostObjectRestoreResp* resp,
271+ bool change_backup_domain = false );
264272
265273 std::string GeneratePresignedUrl (const GeneratePresignedUrlReq& req);
266274
267- CosResult OptionsObject (const OptionsObjectReq& req, OptionsObjectResp* resp);
275+ CosResult OptionsObject (const OptionsObjectReq& req, OptionsObjectResp* resp, bool change_backup_domain = false );
268276
269277 CosResult SelectObjectContent (const SelectObjectContentReq& req,
270- SelectObjectContentResp* resp);
278+ SelectObjectContentResp* resp,
279+ bool change_backup_domain = false );
271280
272281 CosResult AppendObject (const AppendObjectReq& req, AppendObjectResp* resp);
273282
@@ -278,7 +287,8 @@ class ObjectOp : public BaseOp {
278287 // /
279288 // / \return 返回HTTP请求的状态码及错误信息
280289 CosResult PutLiveChannel (const PutLiveChannelReq& req,
281- PutLiveChannelResp* resp);
290+ PutLiveChannelResp* resp,
291+ bool change_backup_domain = false );
282292
283293 // / \brief 启用或禁用通道
284294 // /
@@ -287,7 +297,8 @@ class ObjectOp : public BaseOp {
287297 // /
288298 // / \return 返回HTTP请求的状态码及错误信息
289299 CosResult PutLiveChannelSwitch (const PutLiveChannelSwitchReq& req,
290- PutLiveChannelSwitchResp* resp);
300+ PutLiveChannelSwitchResp* resp,
301+ bool change_backup_domain = false );
291302
292303 // / \brief 获取直播通道配置
293304 // /
@@ -296,7 +307,8 @@ class ObjectOp : public BaseOp {
296307 // /
297308 // / \return 返回HTTP请求的状态码及错误信息
298309 CosResult GetLiveChannel (const GetLiveChannelReq& req,
299- GetLiveChannelResp* resp);
310+ GetLiveChannelResp* resp,
311+ bool change_backup_domain = false );
300312
301313 // / \brief 获取直播通道推流历史
302314 // /
@@ -305,7 +317,8 @@ class ObjectOp : public BaseOp {
305317 // /
306318 // / \return 返回HTTP请求的状态码及错误信息
307319 CosResult GetLiveChannelHistory (const GetLiveChannelHistoryReq& req,
308- GetLiveChannelHistoryResp* resp);
320+ GetLiveChannelHistoryResp* resp,
321+ bool change_backup_domain = false );
309322
310323 // / \brief 获取直播通道推流状态
311324 // /
@@ -314,7 +327,8 @@ class ObjectOp : public BaseOp {
314327 // /
315328 // / \return 返回HTTP请求的状态码及错误信息
316329 CosResult GetLiveChannelStatus (const GetLiveChannelStatusReq& req,
317- GetLiveChannelStatusResp* resp);
330+ GetLiveChannelStatusResp* resp,
331+ bool change_backup_domain = false );
318332
319333 // / \brief 删除直播通
320334 // /
@@ -323,7 +337,8 @@ class ObjectOp : public BaseOp {
323337 // /
324338 // / \return 返回HTTP请求的状态码及错误信息
325339 CosResult DeleteLiveChannel (const DeleteLiveChannelReq& req,
326- DeleteLiveChannelResp* resp);
340+ DeleteLiveChannelResp* resp,
341+ bool change_backup_domain = false );
327342
328343 // / \brief 查询指定通道在指定时间段推流生成的播放列表
329344 // /
@@ -332,7 +347,8 @@ class ObjectOp : public BaseOp {
332347 // /
333348 // / \return 返回HTTP请求的状态码及错误信息
334349 CosResult GetLiveChannelVodPlaylist (const GetLiveChannelVodPlaylistReq& req,
335- GetLiveChannelVodPlaylistResp* resp);
350+ GetLiveChannelVodPlaylistResp* resp,
351+ bool change_backup_domain = false );
336352
337353 // / \brief 指定通道生成一个可供点播例用的播放列表
338354 // /
@@ -341,27 +357,31 @@ class ObjectOp : public BaseOp {
341357 // /
342358 // / \return 返回HTTP请求的状态码及错误信息
343359 CosResult PostLiveChannelVodPlaylist (const PostLiveChannelVodPlaylistReq& req,
344- PostLiveChannelVodPlaylistResp* resp);
360+ PostLiveChannelVodPlaylistResp* resp,
361+ bool change_backup_domain = false );
345362
346363 // / \brief 异步多线程下载,handler处理回调
347364 CosResult MultiThreadDownload (const GetObjectByFileReq& req,
348365 GetObjectByFileResp* resp,
349- const SharedTransferHandler& handler = nullptr );
366+ const SharedTransferHandler& handler = nullptr ,
367+ bool change_backup_domain = false );
350368
351369 /* Resumable接口 */
352370
353371 // / \brief 支持断点下载
354372 CosResult ResumableGetObject (const GetObjectByFileReq& req,
355373 GetObjectByFileResp* resp,
356- const SharedTransferHandler& handler = nullptr );
374+ const SharedTransferHandler& handler = nullptr ,
375+ bool change_backup_domain = false );
357376
358377 /* 批量及目录操作接口*/
359378 CosResult PutObjects (const PutObjectsByDirectoryReq& req,
360- PutObjectsByDirectoryResp* resp);
379+ PutObjectsByDirectoryResp* resp,
380+ bool change_backup_domain = false );
361381
362- CosResult PutDirectory (const PutDirectoryReq& req, PutDirectoryResp* resp);
382+ CosResult PutDirectory (const PutDirectoryReq& req, PutDirectoryResp* resp, bool change_backup_domain = false );
363383
364- CosResult MoveObject (const MoveObjectReq& req);
384+ CosResult MoveObject (const MoveObjectReq& req, bool change_backup_domain = false );
365385
366386 /* 数据处理接口*/
367387
@@ -404,7 +424,8 @@ class ObjectOp : public BaseOp {
404424 const std::vector<std::string>& already_exist_parts,
405425 bool resume_flag, std::vector<std::string>* etags_ptr,
406426 std::vector<uint64_t >* part_numbers_ptr,
407- const SharedTransferHandler& handler = nullptr );
427+ const SharedTransferHandler& handler = nullptr ,
428+ bool change_backup_domain = false );
408429
409430 // / \brief 读取文件内容, 并返回读取的长度
410431 // uint64_t GetContent(const std::string& src, std::string* file_content) const;
0 commit comments