import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';
const client = new TosClient({
accessKeyId: process.env['TOS_ACCESS_KEY'],
accessKeySecret: process.env['TOS_SECRET_KEY'],
region: "Provide your region",
endpoint: "Provide your endpoint",
function handleError(error) {
if (error instanceof TosClientError) {
console.log('Client Err Msg:', error.message);
console.log('Client Err Stack:', error.stack);
} else if (error instanceof TosServerError) {
console.log('Request ID:', error.requestId);
console.log('Response Status Code:', error.statusCode);
console.log('Response Header:', error.headers);
console.log('Response Err Code:', error.code);
console.log('Response Err Msg:', error.message);
console.log('unexpected exception, message: ', error);
const bucketName = 'node-sdk-test-bucket';
const { data, requestId: getMirrorBackRequestId } = await client.getBucketMirrorBack({
console.log('getBucketMirrorBack Request ID: ', getMirrorBackRequestId);
console.log('getBucketMirrorBack Rules Length: ', data.Rules.length);
for (const rule of data.Rules) {
console.log('rule ID:', rule.ID);
console.log('rule Condition HttpCode:', rule.Condition.HttpCode);
console.log('rule Redirect RedirectType:', rule.Redirect.RedirectType);
console.log('rule Redirect FetchSourceOnRedirect:', rule.Redirect.FetchSourceOnRedirect);
console.log('rule Redirect PassQuery:', rule.Redirect.PassQuery);
console.log('rule Redirect FollowRedirect:', rule.Redirect.FollowRedirect);
console.log('rule Redirect MirrorHeader PassAll:', rule.Redirect.MirrorHeader.PassAll);
console.log('rule Redirect MirrorHeader Pass:', rule.Redirect.MirrorHeader.Pass);
console.log('rule Redirect MirrorHeader Remove:', rule.Redirect.MirrorHeader.Remove);
console.log('rule Redirect PublicSource SourceEndpoint:', rule.Redirect.PublicSource.SourceEndpoint);