#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);
GetBucketWebsiteInput input(bucketName);
auto output = client.getBucketWebsite(input);
if (!output.isSuccess()) {
std::cout << "GetBucketWebsite failed." << output.error().String() << std::endl;
std::cout << "GetBucketWebsite success." << std::endl;
auto res = output.result();
if (res.getRedirectAllRequestsTo() != nullptr){
auto redirectAllRequestsTo= *res.getRedirectAllRequestsTo();
std::cout << "host name:" << redirectAllRequestsTo.getHostName() << std::endl;
std::cout << "protocol:" << redirectAllRequestsTo.getProtocol() << std::endl;
if (res.getIndexDocument() != nullptr){
auto indexDocument = *res.getIndexDocument();
std::cout << "indexDocument suffix:" << indexDocument.getSuffix() << std::endl;
std::cout << "indexDocument forbidden subdir:" << indexDocument.isForbiddenSubDir() << std::endl;
if (res.getErrorDocument() != nullptr){
auto errorDocument = *res.getErrorDocument();
std::cout << "error document key:" << errorDocument.getKey() << std::endl;
for (const auto& rule : output.result().getRoutingRules()) {
auto condition = rule.getCondition();
auto redirect = rule.getRedirect();
std::cout << "Condition:" << std::endl;
std::cout << "KeyPrefixEquals:" << condition.getKeyPrefixEquals() << std::endl;
std::cout << "HttpErrorCodeReturnedEquals:" << condition.getHttpErrorCodeReturnedEquals() << std::endl;
std::cout << "Redirect:" << std::endl;
std::cout << "HostName:" << redirect.getHostName() << std::endl;
std::cout << "ReplaceKeyPrefixWith:" << redirect.getReplaceKeyPrefixWith() << std::endl;
std::cout << "ProtocolType:" << redirect.getStringFormatProtocol() << std::endl;
std::cout << "HttpRedirectCode:" << redirect.getHttpRedirectCode() << std::endl;
std::cout << "ReplaceKeyWith:" << redirect.getReplaceKeyWith() << std::endl;