#include "TosClientV2.h"
using namespace VolcengineTos;
std::string region = "Your Region";
std::string accessKey = std::getenv("TOS_ACCESS_KEY");
std::string secretKey = std::getenv("TOS_SECRET_KEY");
std::string bucketName = "examplebucket";
TosClientV2 client(region, accessKey, secretKey);
GetBucketMirrorBackInput input(bucketName);
auto output = client.getBucketMirrorBack(input);
if (!output.isSuccess()) {
std::cout << "GetBucketMirrorBack failed." << output.error().String() << std::endl;
auto mirrorBackRules= output.result().getRules();
for (auto& rule : mirrorBackRules){
std::cout << "rule:" << rule.getId() << std::endl;
auto conditon = rule.getCondition();
std::cout << "http code conditon:" << conditon.getHttpCode() << std::endl;
auto redirect = rule.getRedirect();
std::cout << "redirect:" << redirect.getStringFormatRedirectType() << "," << redirect.isFetchSourceOnRedirect() << "," <<
redirect.isPassQuery() << "," << redirect.isFollowRedirect() << std::endl;
auto mirrorHeader = redirect.getMirrorHeader();
std::cout << "redirect-mirrorHeader:" << mirrorHeader.isPassAll() << std::endl;
std::cout << "redirect-mirrorHeader-pass:" << std::endl;
for(auto& pass : mirrorHeader.getPass()){
std::cout << pass << std::endl;
std::cout << "redirect-mirrorHeader-remove:" << std::endl;
for(auto& remove : mirrorHeader.getRemove()){
std::cout << remove << std::endl;
auto publicSource = redirect.getPublicSource();
auto sourceEndpoint = publicSource.getSourceEndpoint();
std::cout << "redirect-publicSource-sourceEndpoint:" << std::endl;
std::cout << "redirect-publicSource-sourceEndpoint-primary:" << std::endl;
for(auto& primary : sourceEndpoint.getPrimary()){
std::cout << primary << std::endl;
std::cout << "redirect-publicSource-sourceEndpoint-follower:" << std::endl;
for(auto& follower : sourceEndpoint.getFollower()){
std::cout << follower << std::endl;