initiateBucketWorm.ts 688 B

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