initiateBucketWorm.ts 678 B

1234567891011121314151617181920212223
  1. import { obj2xml } from '../utils/obj2xml';
  2. import { checkBucketName } from '../utils/checkBucketName';
  3. export async function initiateBucketWorm(this: any, name: string, days: string, options) {
  4. checkBucketName(name);
  5. const params = this._bucketRequestParams('POST', name, 'worm', options);
  6. const paramlXMLObJ = {
  7. InitiateWormConfiguration: {
  8. RetentionPeriodInDays: days
  9. }
  10. };
  11. params.mime = 'xml';
  12. params.content = obj2xml(paramlXMLObJ, { headers: true });
  13. params.successStatuses = [200];
  14. const result = await this.request(params);
  15. return {
  16. res: result.res,
  17. wormId: result.res.headers['x-oss-worm-id'],
  18. status: result.status
  19. };
  20. }