@nocobase/plugin-file-manager 2.0.0-alpha.9 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/dist/client/index.d.ts +1 -1
  2. package/dist/client/index.js +1 -1
  3. package/dist/client/models/DisplayPreviewFieldModel.d.ts +1 -0
  4. package/dist/client/models/UploadActionModel.d.ts +3 -1
  5. package/dist/client/schemas/storageTypes/ali-oss.d.ts +12 -0
  6. package/dist/client/schemas/storageTypes/common.d.ts +12 -0
  7. package/dist/client/schemas/storageTypes/index.d.ts +48 -0
  8. package/dist/client/schemas/storageTypes/local.d.ts +12 -0
  9. package/dist/client/schemas/storageTypes/s3.d.ts +12 -0
  10. package/dist/client/schemas/storageTypes/tx-cos.d.ts +12 -0
  11. package/dist/client/templates/file.d.ts +4 -0
  12. package/dist/common/collections/storages.d.ts +11 -0
  13. package/dist/common/collections/storages.js +6 -0
  14. package/dist/externalVersion.js +8 -8
  15. package/dist/locale/de-DE.json +42 -29
  16. package/dist/locale/en-US.json +43 -30
  17. package/dist/locale/es-ES.json +54 -0
  18. package/dist/locale/fr-FR.json +45 -12
  19. package/dist/locale/hu-HU.json +48 -0
  20. package/dist/locale/id-ID.json +48 -0
  21. package/dist/locale/it-IT.json +43 -28
  22. package/dist/locale/ja-JP.json +43 -30
  23. package/dist/locale/ko-KR.json +46 -24
  24. package/dist/locale/nl-NL.json +53 -39
  25. package/dist/locale/pt-BR.json +54 -0
  26. package/dist/locale/ru-RU.json +47 -11
  27. package/dist/locale/tr-TR.json +47 -10
  28. package/dist/locale/uk-UA.json +54 -0
  29. package/dist/locale/vi-VN.json +48 -0
  30. package/dist/locale/zh-CN.json +41 -31
  31. package/dist/locale/zh-TW.json +54 -0
  32. package/dist/node_modules/@aws-sdk/client-s3/package.json +1 -1
  33. package/dist/node_modules/@aws-sdk/lib-storage/LICENSE +201 -0
  34. package/dist/node_modules/{multer-s3 → @aws-sdk/lib-storage/dist-cjs}/index.js +574 -6229
  35. package/dist/node_modules/@aws-sdk/lib-storage/dist-cjs/runtimeConfig.browser.js +8 -0
  36. package/dist/node_modules/@aws-sdk/lib-storage/dist-cjs/runtimeConfig.js +10 -0
  37. package/dist/node_modules/@aws-sdk/lib-storage/dist-cjs/runtimeConfig.native.js +8 -0
  38. package/dist/node_modules/@aws-sdk/lib-storage/dist-cjs/runtimeConfig.shared.js +6 -0
  39. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/Upload.js +304 -0
  40. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/bytelength.js +27 -0
  41. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/chunker.js +24 -0
  42. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/chunks/getChunkStream.js +24 -0
  43. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/chunks/getChunkUint8Array.js +19 -0
  44. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/chunks/getDataReadable.js +11 -0
  45. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/chunks/getDataReadableStream.js +24 -0
  46. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/index.js +2 -0
  47. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/runtimeConfig.browser.js +5 -0
  48. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/runtimeConfig.js +7 -0
  49. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/runtimeConfig.native.js +5 -0
  50. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/runtimeConfig.shared.js +3 -0
  51. package/dist/node_modules/@aws-sdk/lib-storage/dist-es/types.js +1 -0
  52. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/Upload.d.ts +59 -0
  53. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/bytelength.d.ts +1 -0
  54. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/chunker.d.ts +3 -0
  55. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/chunks/getChunkStream.d.ts +2 -0
  56. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/chunks/getChunkUint8Array.d.ts +2 -0
  57. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/chunks/getDataReadable.d.ts +3 -0
  58. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/chunks/getDataReadableStream.d.ts +1 -0
  59. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/index.d.ts +2 -0
  60. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/runtimeConfig.browser.d.ts +7 -0
  61. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/runtimeConfig.d.ts +8 -0
  62. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/runtimeConfig.native.d.ts +7 -0
  63. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/runtimeConfig.shared.d.ts +6 -0
  64. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/Upload.d.ts +43 -0
  65. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/bytelength.d.ts +1 -0
  66. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/chunker.d.ts +6 -0
  67. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/chunks/getChunkStream.d.ts +6 -0
  68. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/chunks/getChunkUint8Array.d.ts +5 -0
  69. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/chunks/getDataReadable.d.ts +4 -0
  70. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/chunks/getDataReadableStream.d.ts +3 -0
  71. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/index.d.ts +2 -0
  72. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/runtimeConfig.browser.d.ts +4 -0
  73. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/runtimeConfig.d.ts +4 -0
  74. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/runtimeConfig.native.d.ts +4 -0
  75. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/runtimeConfig.shared.d.ts +3 -0
  76. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/ts3.4/types.d.ts +22 -0
  77. package/dist/node_modules/@aws-sdk/lib-storage/dist-types/types.d.ts +51 -0
  78. package/dist/node_modules/@aws-sdk/lib-storage/package.json +1 -0
  79. package/dist/node_modules/{multer-s3 → ali-oss}/LICENSE +1 -2
  80. package/dist/node_modules/ali-oss/dist/aliyun-oss-sdk.js +44018 -0
  81. package/dist/node_modules/ali-oss/dist/aliyun-oss-sdk.min.js +4 -0
  82. package/dist/node_modules/ali-oss/lib/browser/bucket.js +296 -0
  83. package/dist/node_modules/ali-oss/lib/browser/client.js +452 -0
  84. package/dist/node_modules/ali-oss/lib/browser/managed-upload.js +360 -0
  85. package/dist/node_modules/ali-oss/lib/browser/object.js +385 -0
  86. package/dist/node_modules/ali-oss/lib/browser/version.js +1 -0
  87. package/dist/node_modules/ali-oss/lib/browser.js +6 -0
  88. package/dist/node_modules/ali-oss/lib/bucket.js +337 -0
  89. package/dist/node_modules/{multer-aliyun-oss/index.js → ali-oss/lib/client.js} +2 -2
  90. package/dist/node_modules/ali-oss/lib/cluster.js +228 -0
  91. package/dist/node_modules/ali-oss/lib/common/bucket/abortBucketWorm.d.ts +4 -0
  92. package/dist/node_modules/ali-oss/lib/common/bucket/abortBucketWorm.js +14 -0
  93. package/dist/node_modules/ali-oss/lib/common/bucket/abortBucketWorm.ts +12 -0
  94. package/dist/node_modules/ali-oss/lib/common/bucket/completeBucketWorm.d.ts +4 -0
  95. package/dist/node_modules/ali-oss/lib/common/bucket/completeBucketWorm.js +14 -0
  96. package/dist/node_modules/ali-oss/lib/common/bucket/completeBucketWorm.ts +12 -0
  97. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketEncryption.js +20 -0
  98. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketInventory.d.ts +10 -0
  99. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketInventory.js +22 -0
  100. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketInventory.ts +21 -0
  101. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketLifecycle.js +13 -0
  102. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketPolicy.js +21 -0
  103. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketTags.js +21 -0
  104. package/dist/node_modules/ali-oss/lib/common/bucket/deleteBucketWebsite.js +13 -0
  105. package/dist/node_modules/ali-oss/lib/common/bucket/extendBucketWorm.d.ts +4 -0
  106. package/dist/node_modules/ali-oss/lib/common/bucket/extendBucketWorm.js +23 -0
  107. package/dist/node_modules/ali-oss/lib/common/bucket/extendBucketWorm.ts +21 -0
  108. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketEncryption.js +21 -0
  109. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketInventory.d.ts +11 -0
  110. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketInventory.js +25 -0
  111. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketInventory.ts +24 -0
  112. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketLifecycle.js +33 -0
  113. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketPolicy.js +28 -0
  114. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketRequestPayment.js +25 -0
  115. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketStat.d.ts +23 -0
  116. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketStat.js +17 -0
  117. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketStat.ts +34 -0
  118. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketTags.js +23 -0
  119. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketVersioning.js +22 -0
  120. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketWebsite.js +28 -0
  121. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketWorm.d.ts +1 -0
  122. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketWorm.js +20 -0
  123. package/dist/node_modules/ali-oss/lib/common/bucket/getBucketWorm.ts +22 -0
  124. package/dist/node_modules/ali-oss/lib/common/bucket/index.js +34 -0
  125. package/dist/node_modules/ali-oss/lib/common/bucket/initiateBucketWorm.d.ts +5 -0
  126. package/dist/node_modules/ali-oss/lib/common/bucket/initiateBucketWorm.js +24 -0
  127. package/dist/node_modules/ali-oss/lib/common/bucket/initiateBucketWorm.ts +23 -0
  128. package/dist/node_modules/ali-oss/lib/common/bucket/listBucketInventory.d.ts +13 -0
  129. package/dist/node_modules/ali-oss/lib/common/bucket/listBucketInventory.js +29 -0
  130. package/dist/node_modules/ali-oss/lib/common/bucket/listBucketInventory.ts +32 -0
  131. package/dist/node_modules/ali-oss/lib/common/bucket/putBucket.js +31 -0
  132. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketEncryption.js +36 -0
  133. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketInventory.d.ts +36 -0
  134. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketInventory.js +58 -0
  135. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketInventory.ts +84 -0
  136. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketLifecycle.js +127 -0
  137. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketPolicy.js +27 -0
  138. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketRequestPayment.js +40 -0
  139. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketTags.js +39 -0
  140. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketVersioning.js +35 -0
  141. package/dist/node_modules/ali-oss/lib/common/bucket/putBucketWebsite.js +50 -0
  142. package/dist/node_modules/ali-oss/lib/common/callback.js +27 -0
  143. package/dist/node_modules/ali-oss/lib/common/client/getReqUrl.d.ts +1 -0
  144. package/dist/node_modules/ali-oss/lib/common/client/getReqUrl.js +52 -0
  145. package/dist/node_modules/ali-oss/lib/common/client/getReqUrl.ts +51 -0
  146. package/dist/node_modules/ali-oss/lib/common/client/initOptions.js +72 -0
  147. package/dist/node_modules/ali-oss/lib/common/image/index.js +5 -0
  148. package/dist/node_modules/ali-oss/lib/common/image/processObjectSave.js +45 -0
  149. package/dist/node_modules/ali-oss/lib/common/multipart-copy.js +240 -0
  150. package/dist/node_modules/ali-oss/lib/common/multipart.js +271 -0
  151. package/dist/node_modules/ali-oss/lib/common/object/asyncSignatureUrl.js +57 -0
  152. package/dist/node_modules/ali-oss/lib/common/object/calculatePostSignature.js +35 -0
  153. package/dist/node_modules/ali-oss/lib/common/object/copyObject.js +74 -0
  154. package/dist/node_modules/ali-oss/lib/common/object/delete.js +22 -0
  155. package/dist/node_modules/ali-oss/lib/common/object/deleteMulti.js +57 -0
  156. package/dist/node_modules/ali-oss/lib/common/object/deleteObjectTagging.js +22 -0
  157. package/dist/node_modules/ali-oss/lib/common/object/generateObjectUrl.js +28 -0
  158. package/dist/node_modules/ali-oss/lib/common/object/get.js +64 -0
  159. package/dist/node_modules/ali-oss/lib/common/object/getACL.js +30 -0
  160. package/dist/node_modules/ali-oss/lib/common/object/getAsyncFetch.d.ts +1 -0
  161. package/dist/node_modules/ali-oss/lib/common/object/getAsyncFetch.js +26 -0
  162. package/dist/node_modules/ali-oss/lib/common/object/getAsyncFetch.ts +25 -0
  163. package/dist/node_modules/ali-oss/lib/common/object/getBucketVersions.js +98 -0
  164. package/dist/node_modules/ali-oss/lib/common/object/getObjectMeta.js +23 -0
  165. package/dist/node_modules/ali-oss/lib/common/object/getObjectTagging.js +34 -0
  166. package/dist/node_modules/ali-oss/lib/common/object/getObjectUrl.js +21 -0
  167. package/dist/node_modules/ali-oss/lib/common/object/getSymlink.js +23 -0
  168. package/dist/node_modules/ali-oss/lib/common/object/head.js +40 -0
  169. package/dist/node_modules/ali-oss/lib/common/object/index.js +26 -0
  170. package/dist/node_modules/ali-oss/lib/common/object/postAsyncFetch.d.ts +1 -0
  171. package/dist/node_modules/ali-oss/lib/common/object/postAsyncFetch.js +44 -0
  172. package/dist/node_modules/ali-oss/lib/common/object/postAsyncFetch.ts +46 -0
  173. package/dist/node_modules/ali-oss/lib/common/object/putACL.js +27 -0
  174. package/dist/node_modules/ali-oss/lib/common/object/putObjectTagging.js +43 -0
  175. package/dist/node_modules/ali-oss/lib/common/object/putSymlink.js +33 -0
  176. package/dist/node_modules/ali-oss/lib/common/object/signatureUrl.js +52 -0
  177. package/dist/node_modules/ali-oss/lib/common/object/signatureUrlV4.js +70 -0
  178. package/dist/node_modules/ali-oss/lib/common/parallel.js +177 -0
  179. package/dist/node_modules/ali-oss/lib/common/signUtils.js +355 -0
  180. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketName.d.ts +1 -0
  181. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketName.js +9 -0
  182. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketName.ts +6 -0
  183. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketNameTest.d.ts +1 -0
  184. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketNameTest.js +14 -0
  185. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketNameTest.ts +12 -0
  186. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketTag.d.ts +1 -0
  187. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketTag.js +49 -0
  188. package/dist/node_modules/ali-oss/lib/common/utils/checkBucketTag.ts +52 -0
  189. package/dist/node_modules/ali-oss/lib/common/utils/checkConfigValid.d.ts +1 -0
  190. package/dist/node_modules/ali-oss/lib/common/utils/checkConfigValid.js +30 -0
  191. package/dist/node_modules/ali-oss/lib/common/utils/checkConfigValid.ts +27 -0
  192. package/dist/node_modules/ali-oss/lib/common/utils/checkEnv.d.ts +1 -0
  193. package/dist/node_modules/ali-oss/lib/common/utils/checkEnv.js +9 -0
  194. package/dist/node_modules/ali-oss/lib/common/utils/checkEnv.ts +5 -0
  195. package/dist/node_modules/ali-oss/lib/common/utils/checkObjectTag.d.ts +1 -0
  196. package/dist/node_modules/ali-oss/lib/common/utils/checkObjectTag.js +50 -0
  197. package/dist/node_modules/ali-oss/lib/common/utils/checkObjectTag.ts +53 -0
  198. package/dist/node_modules/ali-oss/lib/common/utils/checkUserAgent.d.ts +1 -0
  199. package/dist/node_modules/ali-oss/lib/common/utils/checkUserAgent.js +7 -0
  200. package/dist/node_modules/ali-oss/lib/common/utils/checkUserAgent.ts +4 -0
  201. package/dist/node_modules/ali-oss/lib/common/utils/checkValid.d.ts +1 -0
  202. package/dist/node_modules/ali-oss/lib/common/utils/checkValid.js +14 -0
  203. package/dist/node_modules/ali-oss/lib/common/utils/checkValid.ts +9 -0
  204. package/dist/node_modules/ali-oss/lib/common/utils/createRequest.d.ts +8 -0
  205. package/dist/node_modules/ali-oss/lib/common/utils/createRequest.js +139 -0
  206. package/dist/node_modules/ali-oss/lib/common/utils/createRequest.ts +169 -0
  207. package/dist/node_modules/ali-oss/lib/common/utils/dataFix.d.ts +12 -0
  208. package/dist/node_modules/ali-oss/lib/common/utils/dataFix.js +63 -0
  209. package/dist/node_modules/ali-oss/lib/common/utils/dataFix.ts +78 -0
  210. package/dist/node_modules/ali-oss/lib/common/utils/deepCopy.d.ts +2 -0
  211. package/dist/node_modules/ali-oss/lib/common/utils/deepCopy.js +41 -0
  212. package/dist/node_modules/ali-oss/lib/common/utils/deepCopy.ts +47 -0
  213. package/dist/node_modules/ali-oss/lib/common/utils/encodeString.d.ts +1 -0
  214. package/dist/node_modules/ali-oss/lib/common/utils/encodeString.js +12 -0
  215. package/dist/node_modules/ali-oss/lib/common/utils/encodeString.ts +7 -0
  216. package/dist/node_modules/ali-oss/lib/common/utils/encoder.d.ts +2 -0
  217. package/dist/node_modules/ali-oss/lib/common/utils/encoder.js +9 -0
  218. package/dist/node_modules/ali-oss/lib/common/utils/encoder.ts +6 -0
  219. package/dist/node_modules/ali-oss/lib/common/utils/formatInventoryConfig.d.ts +1 -0
  220. package/dist/node_modules/ali-oss/lib/common/utils/formatInventoryConfig.js +45 -0
  221. package/dist/node_modules/ali-oss/lib/common/utils/formatInventoryConfig.ts +41 -0
  222. package/dist/node_modules/ali-oss/lib/common/utils/formatObjKey.d.ts +6 -0
  223. package/dist/node_modules/ali-oss/lib/common/utils/formatObjKey.js +34 -0
  224. package/dist/node_modules/ali-oss/lib/common/utils/formatObjKey.ts +35 -0
  225. package/dist/node_modules/ali-oss/lib/common/utils/formatTag.d.ts +1 -0
  226. package/dist/node_modules/ali-oss/lib/common/utils/formatTag.js +22 -0
  227. package/dist/node_modules/ali-oss/lib/common/utils/formatTag.ts +20 -0
  228. package/dist/node_modules/ali-oss/lib/common/utils/getStandardRegion.d.ts +1 -0
  229. package/dist/node_modules/ali-oss/lib/common/utils/getStandardRegion.js +7 -0
  230. package/dist/node_modules/ali-oss/lib/common/utils/getStandardRegion.ts +3 -0
  231. package/dist/node_modules/ali-oss/lib/common/utils/getStrBytesCount.d.ts +1 -0
  232. package/dist/node_modules/ali-oss/lib/common/utils/getStrBytesCount.js +17 -0
  233. package/dist/node_modules/ali-oss/lib/common/utils/getStrBytesCount.ts +12 -0
  234. package/dist/node_modules/ali-oss/lib/common/utils/getUserAgent.d.ts +1 -0
  235. package/dist/node_modules/ali-oss/lib/common/utils/getUserAgent.js +18 -0
  236. package/dist/node_modules/ali-oss/lib/common/utils/getUserAgent.ts +14 -0
  237. package/dist/node_modules/ali-oss/lib/common/utils/isArray.d.ts +1 -0
  238. package/dist/node_modules/ali-oss/lib/common/utils/isArray.js +6 -0
  239. package/dist/node_modules/ali-oss/lib/common/utils/isArray.ts +3 -0
  240. package/dist/node_modules/ali-oss/lib/common/utils/isBlob.d.ts +1 -0
  241. package/dist/node_modules/ali-oss/lib/common/utils/isBlob.js +7 -0
  242. package/dist/node_modules/ali-oss/lib/common/utils/isBlob.ts +3 -0
  243. package/dist/node_modules/ali-oss/lib/common/utils/isBuffer.d.ts +1 -0
  244. package/dist/node_modules/ali-oss/lib/common/utils/isBuffer.js +7 -0
  245. package/dist/node_modules/ali-oss/lib/common/utils/isBuffer.ts +3 -0
  246. package/dist/node_modules/ali-oss/lib/common/utils/isDingTalk.d.ts +1 -0
  247. package/dist/node_modules/ali-oss/lib/common/utils/isDingTalk.js +10 -0
  248. package/dist/node_modules/ali-oss/lib/common/utils/isDingTalk.ts +6 -0
  249. package/dist/node_modules/ali-oss/lib/common/utils/isFile.d.ts +1 -0
  250. package/dist/node_modules/ali-oss/lib/common/utils/isFile.js +6 -0
  251. package/dist/node_modules/ali-oss/lib/common/utils/isFile.ts +3 -0
  252. package/dist/node_modules/ali-oss/lib/common/utils/isFunction.d.ts +1 -0
  253. package/dist/node_modules/ali-oss/lib/common/utils/isFunction.js +6 -0
  254. package/dist/node_modules/ali-oss/lib/common/utils/isFunction.ts +3 -0
  255. package/dist/node_modules/ali-oss/lib/common/utils/isIP.d.ts +6 -0
  256. package/dist/node_modules/ali-oss/lib/common/utils/isIP.js +14 -0
  257. package/dist/node_modules/ali-oss/lib/common/utils/isIP.ts +12 -0
  258. package/dist/node_modules/ali-oss/lib/common/utils/isObject.d.ts +1 -0
  259. package/dist/node_modules/ali-oss/lib/common/utils/isObject.js +6 -0
  260. package/dist/node_modules/ali-oss/lib/common/utils/isObject.ts +3 -0
  261. package/dist/node_modules/ali-oss/lib/common/utils/lowercaseKeyHeader.d.ts +1 -0
  262. package/dist/node_modules/ali-oss/lib/common/utils/lowercaseKeyHeader.js +14 -0
  263. package/dist/node_modules/ali-oss/lib/common/utils/lowercaseKeyHeader.ts +11 -0
  264. package/dist/node_modules/ali-oss/lib/common/utils/obj2xml.d.ts +1 -0
  265. package/dist/node_modules/ali-oss/lib/common/utils/obj2xml.js +43 -0
  266. package/dist/node_modules/ali-oss/lib/common/utils/obj2xml.ts +37 -0
  267. package/dist/node_modules/ali-oss/lib/common/utils/omit.d.ts +1 -0
  268. package/dist/node_modules/ali-oss/lib/common/utils/omit.js +11 -0
  269. package/dist/node_modules/ali-oss/lib/common/utils/omit.ts +9 -0
  270. package/dist/node_modules/ali-oss/lib/common/utils/policy2Str.d.ts +1 -0
  271. package/dist/node_modules/ali-oss/lib/common/utils/policy2Str.js +21 -0
  272. package/dist/node_modules/ali-oss/lib/common/utils/policy2Str.ts +15 -0
  273. package/dist/node_modules/ali-oss/lib/common/utils/retry.d.ts +1 -0
  274. package/dist/node_modules/ali-oss/lib/common/utils/retry.js +30 -0
  275. package/dist/node_modules/ali-oss/lib/common/utils/retry.ts +26 -0
  276. package/dist/node_modules/ali-oss/lib/common/utils/setRegion.d.ts +3 -0
  277. package/dist/node_modules/ali-oss/lib/common/utils/setRegion.js +20 -0
  278. package/dist/node_modules/ali-oss/lib/common/utils/setRegion.ts +15 -0
  279. package/dist/node_modules/ali-oss/lib/common/utils/setSTSToken.d.ts +2 -0
  280. package/dist/node_modules/ali-oss/lib/common/utils/setSTSToken.js +36 -0
  281. package/dist/node_modules/ali-oss/lib/common/utils/setSTSToken.ts +32 -0
  282. package/dist/node_modules/ali-oss/lib/global.d.ts +6 -0
  283. package/dist/node_modules/ali-oss/lib/image.js +146 -0
  284. package/dist/node_modules/ali-oss/lib/managed-upload.js +380 -0
  285. package/dist/node_modules/ali-oss/lib/object.js +420 -0
  286. package/dist/node_modules/ali-oss/lib/rtmp.js +295 -0
  287. package/dist/node_modules/ali-oss/lib/setConfig.d.ts +3 -0
  288. package/dist/node_modules/ali-oss/lib/setConfig.js +42 -0
  289. package/dist/node_modules/ali-oss/lib/setConfig.ts +52 -0
  290. package/dist/node_modules/ali-oss/lib/sts.js +156 -0
  291. package/dist/node_modules/ali-oss/lib/types/experimental.d.ts +1 -0
  292. package/dist/node_modules/ali-oss/lib/types/experimental.js +2 -0
  293. package/dist/node_modules/ali-oss/lib/types/experimental.ts +1 -0
  294. package/dist/node_modules/ali-oss/node_modules/bowser/.editorconfig +17 -0
  295. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/.name +1 -0
  296. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/bowser.iml +8 -0
  297. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/encodings.xml +6 -0
  298. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/inspectionProfiles/Project_Default.xml +6 -0
  299. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/jsLibraryMappings.xml +8 -0
  300. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/markdown-exported-files.xml +8 -0
  301. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/markdown-navigator/profiles_settings.xml +3 -0
  302. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/markdown-navigator.xml +67 -0
  303. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/misc.xml +6 -0
  304. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/modules.xml +8 -0
  305. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/vcs.xml +6 -0
  306. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/watcherTasks.xml +4 -0
  307. package/dist/node_modules/ali-oss/node_modules/bowser/.idea/workspace.xml +696 -0
  308. package/dist/node_modules/ali-oss/node_modules/bowser/.travis.yml +8 -0
  309. package/dist/node_modules/ali-oss/node_modules/bowser/bower.json +33 -0
  310. package/dist/node_modules/ali-oss/node_modules/bowser/bowser.js +644 -0
  311. package/dist/node_modules/ali-oss/node_modules/bowser/bowser.min.js +6 -0
  312. package/dist/node_modules/ali-oss/node_modules/bowser/package.json +38 -0
  313. package/dist/node_modules/ali-oss/node_modules/bowser/src/bowser.js +644 -0
  314. package/dist/node_modules/ali-oss/node_modules/bowser/test/test.js +151 -0
  315. package/dist/node_modules/ali-oss/node_modules/bowser/typings.d.ts +115 -0
  316. package/dist/node_modules/ali-oss/node_modules/dateformat/.vs/ProjectSettings.json +3 -0
  317. package/dist/node_modules/ali-oss/node_modules/dateformat/.vs/config/applicationhost.config +1031 -0
  318. package/dist/node_modules/ali-oss/node_modules/dateformat/.vs/node-dateformat/v15/.suo +0 -0
  319. package/dist/node_modules/ali-oss/node_modules/dateformat/.vs/slnx.sqlite +0 -0
  320. package/dist/node_modules/ali-oss/node_modules/dateformat/lib/dateformat.js +226 -0
  321. package/dist/node_modules/ali-oss/node_modules/dateformat/package.json +30 -0
  322. package/dist/node_modules/ali-oss/node_modules/mime/Mime.js +97 -0
  323. package/dist/node_modules/ali-oss/node_modules/mime/cli.js +46 -0
  324. package/dist/node_modules/ali-oss/node_modules/mime/index.js +4 -0
  325. package/dist/node_modules/ali-oss/node_modules/mime/lite.js +4 -0
  326. package/dist/node_modules/ali-oss/node_modules/mime/package.json +52 -0
  327. package/dist/node_modules/ali-oss/node_modules/mime/types/other.js +1 -0
  328. package/dist/node_modules/ali-oss/node_modules/mime/types/standard.js +1 -0
  329. package/dist/node_modules/ali-oss/package.json +1 -0
  330. package/dist/node_modules/ali-oss/shims/crypto/crypto.js +98 -0
  331. package/dist/node_modules/ali-oss/shims/crypto/helpers.js +36 -0
  332. package/dist/node_modules/ali-oss/shims/crypto/md5.js +152 -0
  333. package/dist/node_modules/ali-oss/shims/crypto/sha.js +91 -0
  334. package/dist/node_modules/ali-oss/shims/crypto/sha256.js +163 -0
  335. package/dist/node_modules/ali-oss/shims/debug.js +3 -0
  336. package/dist/node_modules/ali-oss/shims/is-type-of.js +18 -0
  337. package/dist/node_modules/ali-oss/shims/process.js +35 -0
  338. package/dist/node_modules/ali-oss/shims/stream-http/index.js +82 -0
  339. package/dist/node_modules/ali-oss/shims/stream-http/lib/capability.js +72 -0
  340. package/dist/node_modules/ali-oss/shims/stream-http/lib/request.js +320 -0
  341. package/dist/node_modules/ali-oss/shims/stream-http/lib/response.js +217 -0
  342. package/dist/node_modules/ali-oss/shims/url/index.js +696 -0
  343. package/dist/node_modules/ali-oss/shims/url/util.js +16 -0
  344. package/dist/node_modules/ali-oss/shims/utility.js +25 -0
  345. package/dist/node_modules/ali-oss/shims/xhr.js +798 -0
  346. package/dist/node_modules/mime-match/package.json +1 -1
  347. package/dist/node_modules/mime-types/package.json +1 -1
  348. package/dist/node_modules/mkdirp/package.json +1 -1
  349. package/dist/node_modules/multer-cos/package.json +1 -1
  350. package/dist/node_modules/url-join/package.json +1 -1
  351. package/dist/server/actions/storages.js +4 -6
  352. package/dist/server/server.js +1 -0
  353. package/dist/server/storages/ali-oss.d.ts +15 -1
  354. package/dist/server/storages/ali-oss.js +66 -2
  355. package/dist/server/storages/index.d.ts +1 -0
  356. package/dist/server/storages/local.js +1 -1
  357. package/dist/server/storages/s3.d.ts +10 -3
  358. package/dist/server/storages/s3.js +121 -29
  359. package/dist/server/storages/tx-cos.js +1 -1
  360. package/dist/server/utils.d.ts +1 -0
  361. package/dist/server/utils.js +43 -0
  362. package/package.json +7 -3
  363. package/dist/node_modules/multer-aliyun-oss/package.json +0 -1
  364. package/dist/node_modules/multer-s3/.gitattributes +0 -1
  365. package/dist/node_modules/multer-s3/.travis.yml +0 -6
  366. package/dist/node_modules/multer-s3/package.json +0 -1
  367. package/dist/node_modules/multer-s3/test/basic.js +0 -293
  368. package/dist/node_modules/multer-s3/test/files/a.txt +0 -1
  369. package/dist/node_modules/multer-s3/test/files/test.svg +0 -3
  370. package/dist/node_modules/multer-s3/test/files/test2.svg +0 -9
  371. package/dist/node_modules/multer-s3/test/util/mock-s3.js +0 -17
@@ -0,0 +1,452 @@
1
+ const debug = require('debug')('ali-oss');
2
+ const xml = require('xml2js');
3
+ const AgentKeepalive = require('agentkeepalive');
4
+ const merge = require('merge-descriptors');
5
+ const platform = require('platform');
6
+ const utility = require('utility');
7
+ const urllib = require('urllib');
8
+ const pkg = require('./version');
9
+ const bowser = require('bowser');
10
+ const signUtils = require('../common/signUtils');
11
+ const _initOptions = require('../common/client/initOptions');
12
+ const { createRequest } = require('../common/utils/createRequest');
13
+ const { encoder } = require('../common/utils/encoder');
14
+ const { getReqUrl } = require('../common/client/getReqUrl');
15
+ const { setSTSToken } = require('../common/utils/setSTSToken');
16
+ const { retry } = require('../common/utils/retry');
17
+ const { isFunction } = require('../common/utils/isFunction');
18
+ const { getStandardRegion } = require('../common/utils/getStandardRegion');
19
+
20
+ const globalHttpAgent = new AgentKeepalive();
21
+
22
+ function _unSupportBrowserTip() {
23
+ const { name, version } = platform;
24
+ if (name && name.toLowerCase && name.toLowerCase() === 'ie' && version.split('.')[0] < 10) {
25
+ // eslint-disable-next-line no-console
26
+ console.warn('ali-oss does not support the current browser');
27
+ }
28
+ }
29
+ // check local web protocol,if https secure default set true , if http secure default set false
30
+ function isHttpsWebProtocol() {
31
+ // for web worker not use window.location.
32
+ // eslint-disable-next-line no-restricted-globals
33
+ return location && location.protocol === 'https:';
34
+ }
35
+
36
+ function Client(options, ctx) {
37
+ _unSupportBrowserTip();
38
+ if (!(this instanceof Client)) {
39
+ return new Client(options, ctx);
40
+ }
41
+ if (options && options.inited) {
42
+ this.options = options;
43
+ } else {
44
+ this.options = Client.initOptions(options);
45
+ }
46
+
47
+ this.options.cancelFlag = false; // cancel flag: if true need to be cancelled, default false
48
+
49
+ // support custom agent and urllib client
50
+ if (this.options.urllib) {
51
+ this.urllib = this.options.urllib;
52
+ } else {
53
+ this.urllib = urllib;
54
+ this.agent = this.options.agent || globalHttpAgent;
55
+ }
56
+ this.ctx = ctx;
57
+ this.userAgent = this._getUserAgent();
58
+ this.stsTokenFreshTime = new Date();
59
+
60
+ // record the time difference between client and server
61
+ this.options.amendTimeSkewed = 0;
62
+ }
63
+
64
+ /**
65
+ * Expose `Client`
66
+ */
67
+
68
+ module.exports = Client;
69
+
70
+ Client.initOptions = function initOptions(options) {
71
+ if (!options.stsToken) {
72
+ console.warn(
73
+ 'Please use STS Token for safety, see more details at https://help.aliyun.com/document_detail/32077.html'
74
+ );
75
+ }
76
+ const opts = Object.assign(
77
+ {
78
+ secure: isHttpsWebProtocol(),
79
+ // for browser compatibility disable fetch.
80
+ useFetch: false
81
+ },
82
+ options
83
+ );
84
+
85
+ return _initOptions(opts);
86
+ };
87
+
88
+ /**
89
+ * prototype
90
+ */
91
+
92
+ const proto = Client.prototype;
93
+
94
+ // mount debug on proto
95
+ proto.debug = debug;
96
+
97
+ /**
98
+ * Object operations
99
+ */
100
+ merge(proto, require('./object'));
101
+ /**
102
+ * Bucket operations
103
+ */
104
+ merge(proto, require('./bucket'));
105
+ merge(proto, require('../common/bucket/getBucketWebsite'));
106
+ merge(proto, require('../common/bucket/putBucketWebsite'));
107
+ merge(proto, require('../common/bucket/deleteBucketWebsite'));
108
+
109
+ // lifecycle
110
+ merge(proto, require('../common/bucket/getBucketLifecycle'));
111
+ merge(proto, require('../common/bucket/putBucketLifecycle'));
112
+ merge(proto, require('../common/bucket/deleteBucketLifecycle'));
113
+
114
+ // multiversion
115
+ merge(proto, require('../common/bucket/putBucketVersioning'));
116
+ merge(proto, require('../common/bucket/getBucketVersioning'));
117
+
118
+ // inventory
119
+ merge(proto, require('../common/bucket/getBucketInventory'));
120
+ merge(proto, require('../common/bucket/deleteBucketInventory'));
121
+ merge(proto, require('../common/bucket/listBucketInventory'));
122
+ merge(proto, require('../common/bucket/putBucketInventory'));
123
+
124
+ // worm
125
+ merge(proto, require('../common/bucket/abortBucketWorm'));
126
+ merge(proto, require('../common/bucket/completeBucketWorm'));
127
+ merge(proto, require('../common/bucket/extendBucketWorm'));
128
+ merge(proto, require('../common/bucket/getBucketWorm'));
129
+ merge(proto, require('../common/bucket/initiateBucketWorm'));
130
+
131
+ // multipart upload
132
+ merge(proto, require('./managed-upload'));
133
+ /**
134
+ * common multipart-copy support node and browser
135
+ */
136
+ merge(proto, require('../common/multipart-copy'));
137
+ /**
138
+ * Multipart operations
139
+ */
140
+ merge(proto, require('../common/multipart'));
141
+
142
+ /**
143
+ * Common module parallel
144
+ */
145
+ merge(proto, require('../common/parallel'));
146
+
147
+ /**
148
+ * get OSS signature
149
+ * @param {String} stringToSign
150
+ * @return {String} the signature
151
+ */
152
+ proto.signature = function signature(stringToSign) {
153
+ this.debug('authorization stringToSign: %s', stringToSign, 'info');
154
+
155
+ return signUtils.computeSignature(this.options.accessKeySecret, stringToSign, this.options.headerEncoding);
156
+ };
157
+
158
+ proto._getReqUrl = getReqUrl;
159
+
160
+ /**
161
+ * get author header
162
+ *
163
+ * "Authorization: OSS " + Access Key Id + ":" + Signature
164
+ *
165
+ * Signature = base64(hmac-sha1(Access Key Secret + "\n"
166
+ * + VERB + "\n"
167
+ * + CONTENT-MD5 + "\n"
168
+ * + CONTENT-TYPE + "\n"
169
+ * + DATE + "\n"
170
+ * + CanonicalizedOSSHeaders
171
+ * + CanonicalizedResource))
172
+ *
173
+ * @param {String} method
174
+ * @param {String} resource
175
+ * @param {Object} header
176
+ * @return {String}
177
+ *
178
+ * @api private
179
+ */
180
+
181
+ proto.authorization = function authorization(method, resource, subres, headers) {
182
+ const stringToSign = signUtils.buildCanonicalString(method.toUpperCase(), resource, {
183
+ headers,
184
+ parameters: subres
185
+ });
186
+
187
+ return signUtils.authorization(
188
+ this.options.accessKeyId,
189
+ this.options.accessKeySecret,
190
+ stringToSign,
191
+ this.options.headerEncoding
192
+ );
193
+ };
194
+
195
+ /**
196
+ * get authorization header v4
197
+ *
198
+ * @param {string} method
199
+ * @param {Object} requestParams
200
+ * @param {Object} requestParams.headers
201
+ * @param {(string|string[]|Object)} [requestParams.queries]
202
+ * @param {string} [bucketName]
203
+ * @param {string} [objectName]
204
+ * @param {string[]} [additionalHeaders]
205
+ * @return {string}
206
+ *
207
+ * @api private
208
+ */
209
+ proto.authorizationV4 = function authorizationV4(method, requestParams, bucketName, objectName, additionalHeaders) {
210
+ return signUtils.authorizationV4(
211
+ this.options.accessKeyId,
212
+ this.options.accessKeySecret,
213
+ getStandardRegion(this.options.region),
214
+ method,
215
+ requestParams,
216
+ bucketName,
217
+ objectName,
218
+ additionalHeaders,
219
+ this.options.headerEncoding
220
+ );
221
+ };
222
+
223
+ /**
224
+ * request oss server
225
+ * @param {Object} params
226
+ * - {String} object
227
+ * - {String} bucket
228
+ * - {Object} [headers]
229
+ * - {Object} [query]
230
+ * - {Buffer} [content]
231
+ * - {Stream} [stream]
232
+ * - {Stream} [writeStream]
233
+ * - {String} [mime]
234
+ * - {Boolean} [xmlResponse]
235
+ * - {Boolean} [customResponse]
236
+ * - {Number} [timeout]
237
+ * - {Object} [ctx] request context, default is `this.ctx`
238
+ *
239
+ * @api private
240
+ */
241
+
242
+ proto.request = async function (params) {
243
+ if (this.options.retryMax) {
244
+ return await retry(request.bind(this), this.options.retryMax, {
245
+ errorHandler: err => {
246
+ const _errHandle = _err => {
247
+ if (params.stream) return false;
248
+ const statusErr = [-1, -2].includes(_err.status);
249
+ const requestErrorRetryHandle = this.options.requestErrorRetryHandle || (() => true);
250
+ return statusErr && requestErrorRetryHandle(_err);
251
+ };
252
+ if (_errHandle(err)) return true;
253
+ return false;
254
+ }
255
+ })(params);
256
+ } else {
257
+ return request.call(this, params);
258
+ }
259
+ };
260
+
261
+ async function request(params) {
262
+ if (this.options.stsToken && isFunction(this.options.refreshSTSToken)) {
263
+ await setSTSToken.call(this);
264
+ }
265
+ const reqParams = createRequest.call(this, params);
266
+ if (!this.options.useFetch) {
267
+ reqParams.params.mode = 'disable-fetch';
268
+ }
269
+ let result;
270
+ let reqErr;
271
+ const useStream = !!params.stream;
272
+ try {
273
+ result = await this.urllib.request(reqParams.url, reqParams.params);
274
+ this.debug(
275
+ 'response %s %s, got %s, headers: %j',
276
+ params.method,
277
+ reqParams.url,
278
+ result.status,
279
+ result.headers,
280
+ 'info'
281
+ );
282
+ } catch (err) {
283
+ reqErr = err;
284
+ }
285
+ let err;
286
+ if (result && params.successStatuses && params.successStatuses.indexOf(result.status) === -1) {
287
+ err = await this.requestError(result);
288
+ // not use stream
289
+ if (err.code === 'RequestTimeTooSkewed' && !useStream) {
290
+ this.options.amendTimeSkewed = +new Date(err.serverTime) - new Date();
291
+ return await this.request(params);
292
+ }
293
+ err.params = params;
294
+ } else if (reqErr) {
295
+ err = await this.requestError(reqErr);
296
+ }
297
+
298
+ if (err) {
299
+ throw err;
300
+ }
301
+
302
+ if (params.xmlResponse) {
303
+ const parseData = await this.parseXML(result.data);
304
+ result.data = parseData;
305
+ }
306
+ return result;
307
+ }
308
+
309
+ proto._getResource = function _getResource(params) {
310
+ let resource = '/';
311
+ if (params.bucket) resource += `${params.bucket}/`;
312
+ if (params.object) resource += encoder(params.object, this.options.headerEncoding);
313
+
314
+ return resource;
315
+ };
316
+
317
+ proto._escape = function _escape(name) {
318
+ return utility.encodeURIComponent(name).replace(/%2F/g, '/');
319
+ };
320
+
321
+ /*
322
+ * Get User-Agent for browser & node.js
323
+ * @example
324
+ * aliyun-sdk-nodejs/4.1.2 Node.js 5.3.0 on Darwin 64-bit
325
+ * aliyun-sdk-js/4.1.2 Safari 9.0 on Apple iPhone(iOS 9.2.1)
326
+ * aliyun-sdk-js/4.1.2 Chrome 43.0.2357.134 32-bit on Windows Server 2008 R2 / 7 64-bit
327
+ */
328
+
329
+ proto._getUserAgent = function _getUserAgent() {
330
+ const agent = process && process.browser ? 'js' : 'nodejs';
331
+ const sdk = `aliyun-sdk-${agent}/${pkg.version}`;
332
+ let plat = platform.description;
333
+ if (!plat && process) {
334
+ plat = `Node.js ${process.version.slice(1)} on ${process.platform} ${process.arch}`;
335
+ }
336
+
337
+ return this._checkUserAgent(`${sdk} ${plat}`);
338
+ };
339
+
340
+ proto._checkUserAgent = function _checkUserAgent(ua) {
341
+ const userAgent = ua.replace(/\u03b1/, 'alpha').replace(/\u03b2/, 'beta');
342
+ return userAgent;
343
+ };
344
+
345
+ /*
346
+ * Check Browser And Version
347
+ * @param {String} [name] browser name: like IE, Chrome, Firefox
348
+ * @param {String} [version] browser major version: like 10(IE 10.x), 55(Chrome 55.x), 50(Firefox 50.x)
349
+ * @return {Bool} true or false
350
+ * @api private
351
+ */
352
+
353
+ proto.checkBrowserAndVersion = function checkBrowserAndVersion(name, version) {
354
+ return bowser.name === name && bowser.version.split('.')[0] === version;
355
+ };
356
+
357
+ /**
358
+ * thunkify xml.parseString
359
+ * @param {String|Buffer} str
360
+ *
361
+ * @api private
362
+ */
363
+
364
+ proto.parseXML = function parseXMLThunk(str) {
365
+ return new Promise((resolve, reject) => {
366
+ if (Buffer.isBuffer(str)) {
367
+ str = str.toString();
368
+ }
369
+ xml.parseString(
370
+ str,
371
+ {
372
+ explicitRoot: false,
373
+ explicitArray: false
374
+ },
375
+ (err, result) => {
376
+ if (err) {
377
+ reject(err);
378
+ } else {
379
+ resolve(result);
380
+ }
381
+ }
382
+ );
383
+ });
384
+ };
385
+
386
+ /**
387
+ * generater a request error with request response
388
+ * @param {Object} result
389
+ *
390
+ * @api private
391
+ */
392
+
393
+ proto.requestError = async function requestError(result) {
394
+ let err = null;
395
+ if (!result.data || !result.data.length) {
396
+ if (result.status === -1 || result.status === -2) {
397
+ // -1 is net error , -2 is timeout
398
+ err = new Error(result.message);
399
+ err.name = result.name;
400
+ err.status = result.status;
401
+ err.code = result.name;
402
+ } else {
403
+ // HEAD not exists resource
404
+ if (result.status === 404) {
405
+ err = new Error('Object not exists');
406
+ err.name = 'NoSuchKeyError';
407
+ err.status = 404;
408
+ err.code = 'NoSuchKey';
409
+ } else if (result.status === 412) {
410
+ err = new Error('Pre condition failed');
411
+ err.name = 'PreconditionFailedError';
412
+ err.status = 412;
413
+ err.code = 'PreconditionFailed';
414
+ } else {
415
+ err = new Error(`Unknow error, status: ${result.status}`);
416
+ err.name = 'UnknownError';
417
+ err.status = result.status;
418
+ }
419
+ err.requestId = result.headers['x-oss-request-id'];
420
+ err.host = '';
421
+ }
422
+ } else {
423
+ const message = String(result.data);
424
+ this.debug('request response error data: %s', message, 'error');
425
+
426
+ let info;
427
+ try {
428
+ info = (await this.parseXML(message)) || {};
429
+ } catch (error) {
430
+ this.debug(message, 'error');
431
+ error.message += `\nraw xml: ${message}`;
432
+ error.status = result.status;
433
+ error.requestId = result.headers['x-oss-request-id'];
434
+ return error;
435
+ }
436
+
437
+ let msg = info.Message || `unknow request error, status: ${result.status}`;
438
+ if (info.Condition) {
439
+ msg += ` (condition: ${info.Condition})`;
440
+ }
441
+ err = new Error(msg);
442
+ err.name = info.Code ? `${info.Code}Error` : 'UnknownError';
443
+ err.status = result.status;
444
+ err.code = info.Code;
445
+ err.requestId = info.RequestId;
446
+ err.hostId = info.HostId;
447
+ err.serverTime = info.ServerTime;
448
+ }
449
+
450
+ this.debug('generate error %j', err, 'error');
451
+ return err;
452
+ };