@backblaze-labs/b2-sdk 0.1.0
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.
- package/CHANGELOG.md +121 -0
- package/LICENSE +21 -0
- package/README.md +664 -0
- package/dist/auth/account-info.d.cts +51 -0
- package/dist/auth/account-info.d.cts.map +1 -0
- package/dist/auth/account-info.d.ts +51 -0
- package/dist/auth/account-info.d.ts.map +1 -0
- package/dist/auth/file.cjs +210 -0
- package/dist/auth/file.cjs.map +1 -0
- package/dist/auth/file.d.cts +157 -0
- package/dist/auth/file.d.cts.map +1 -0
- package/dist/auth/file.d.ts +157 -0
- package/dist/auth/file.d.ts.map +1 -0
- package/dist/auth/file.js +210 -0
- package/dist/auth/file.js.map +1 -0
- package/dist/auth/in-memory.cjs +184 -0
- package/dist/auth/in-memory.cjs.map +1 -0
- package/dist/auth/in-memory.d.cts +147 -0
- package/dist/auth/in-memory.d.cts.map +1 -0
- package/dist/auth/in-memory.d.ts +147 -0
- package/dist/auth/in-memory.d.ts.map +1 -0
- package/dist/auth/in-memory.js +184 -0
- package/dist/auth/in-memory.js.map +1 -0
- package/dist/auth/index.cjs +10 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +6 -0
- package/dist/auth/index.d.cts.map +1 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +10 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/realms.cjs +12 -0
- package/dist/auth/realms.cjs.map +1 -0
- package/dist/auth/realms.d.cts +12 -0
- package/dist/auth/realms.d.cts.map +1 -0
- package/dist/auth/realms.d.ts +12 -0
- package/dist/auth/realms.d.ts.map +1 -0
- package/dist/auth/realms.js +12 -0
- package/dist/auth/realms.js.map +1 -0
- package/dist/auth/upload-url-pool.cjs +52 -0
- package/dist/auth/upload-url-pool.cjs.map +1 -0
- package/dist/auth/upload-url-pool.d.cts +35 -0
- package/dist/auth/upload-url-pool.d.cts.map +1 -0
- package/dist/auth/upload-url-pool.d.ts +35 -0
- package/dist/auth/upload-url-pool.d.ts.map +1 -0
- package/dist/auth/upload-url-pool.js +52 -0
- package/dist/auth/upload-url-pool.js.map +1 -0
- package/dist/bucket.cjs +789 -0
- package/dist/bucket.cjs.map +1 -0
- package/dist/bucket.d.cts +659 -0
- package/dist/bucket.d.cts.map +1 -0
- package/dist/bucket.d.ts +659 -0
- package/dist/bucket.d.ts.map +1 -0
- package/dist/bucket.js +789 -0
- package/dist/bucket.js.map +1 -0
- package/dist/client.cjs +230 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +222 -0
- package/dist/client.d.cts.map +1 -0
- package/dist/client.d.ts +222 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +230 -0
- package/dist/client.js.map +1 -0
- package/dist/copy/large.cjs +74 -0
- package/dist/copy/large.cjs.map +1 -0
- package/dist/copy/large.d.cts +53 -0
- package/dist/copy/large.d.cts.map +1 -0
- package/dist/copy/large.d.ts +53 -0
- package/dist/copy/large.d.ts.map +1 -0
- package/dist/copy/large.js +74 -0
- package/dist/copy/large.js.map +1 -0
- package/dist/download/parallel.cjs +122 -0
- package/dist/download/parallel.cjs.map +1 -0
- package/dist/download/parallel.d.cts +42 -0
- package/dist/download/parallel.d.cts.map +1 -0
- package/dist/download/parallel.d.ts +42 -0
- package/dist/download/parallel.d.ts.map +1 -0
- package/dist/download/parallel.js +122 -0
- package/dist/download/parallel.js.map +1 -0
- package/dist/download/single.cjs +117 -0
- package/dist/download/single.cjs.map +1 -0
- package/dist/download/single.d.cts +152 -0
- package/dist/download/single.d.cts.map +1 -0
- package/dist/download/single.d.ts +152 -0
- package/dist/download/single.d.ts.map +1 -0
- package/dist/download/single.js +117 -0
- package/dist/download/single.js.map +1 -0
- package/dist/errors/index.cjs +268 -0
- package/dist/errors/index.cjs.map +1 -0
- package/dist/errors/index.d.cts +264 -0
- package/dist/errors/index.d.cts.map +1 -0
- package/dist/errors/index.d.ts +264 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +268 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/http/retry.cjs +36 -0
- package/dist/http/retry.cjs.map +1 -0
- package/dist/http/retry.d.cts +34 -0
- package/dist/http/retry.d.cts.map +1 -0
- package/dist/http/retry.d.ts +34 -0
- package/dist/http/retry.d.ts.map +1 -0
- package/dist/http/retry.js +36 -0
- package/dist/http/retry.js.map +1 -0
- package/dist/http/transport.cjs +143 -0
- package/dist/http/transport.cjs.map +1 -0
- package/dist/http/transport.d.cts +122 -0
- package/dist/http/transport.d.cts.map +1 -0
- package/dist/http/transport.d.ts +122 -0
- package/dist/http/transport.d.ts.map +1 -0
- package/dist/http/transport.js +143 -0
- package/dist/http/transport.js.map +1 -0
- package/dist/http/url-guard.cjs +97 -0
- package/dist/http/url-guard.cjs.map +1 -0
- package/dist/http/url-guard.d.cts +88 -0
- package/dist/http/url-guard.d.cts.map +1 -0
- package/dist/http/url-guard.d.ts +88 -0
- package/dist/http/url-guard.d.ts.map +1 -0
- package/dist/http/url-guard.js +97 -0
- package/dist/http/url-guard.js.map +1 -0
- package/dist/http/user-agent.cjs +51 -0
- package/dist/http/user-agent.cjs.map +1 -0
- package/dist/http/user-agent.d.cts +28 -0
- package/dist/http/user-agent.d.cts.map +1 -0
- package/dist/http/user-agent.d.ts +28 -0
- package/dist/http/user-agent.d.ts.map +1 -0
- package/dist/http/user-agent.js +51 -0
- package/dist/http/user-agent.js.map +1 -0
- package/dist/index.cjs +78 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +39 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/notifications/index.cjs +7 -0
- package/dist/notifications/index.cjs.map +1 -0
- package/dist/notifications/index.d.cts +3 -0
- package/dist/notifications/index.d.cts.map +1 -0
- package/dist/notifications/index.d.ts +3 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +7 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/webhook.cjs +106 -0
- package/dist/notifications/webhook.cjs.map +1 -0
- package/dist/notifications/webhook.d.cts +146 -0
- package/dist/notifications/webhook.d.cts.map +1 -0
- package/dist/notifications/webhook.d.ts +146 -0
- package/dist/notifications/webhook.d.ts.map +1 -0
- package/dist/notifications/webhook.js +106 -0
- package/dist/notifications/webhook.js.map +1 -0
- package/dist/object.cjs +212 -0
- package/dist/object.cjs.map +1 -0
- package/dist/object.d.cts +263 -0
- package/dist/object.d.cts.map +1 -0
- package/dist/object.d.ts +263 -0
- package/dist/object.d.ts.map +1 -0
- package/dist/object.js +212 -0
- package/dist/object.js.map +1 -0
- package/dist/package.json.cjs +9 -0
- package/dist/package.json.cjs.map +1 -0
- package/dist/package.json.js +9 -0
- package/dist/package.json.js.map +1 -0
- package/dist/raw/encoding.cjs +47 -0
- package/dist/raw/encoding.cjs.map +1 -0
- package/dist/raw/encoding.d.cts +46 -0
- package/dist/raw/encoding.d.cts.map +1 -0
- package/dist/raw/encoding.d.ts +46 -0
- package/dist/raw/encoding.d.ts.map +1 -0
- package/dist/raw/encoding.js +47 -0
- package/dist/raw/encoding.js.map +1 -0
- package/dist/raw/index.cjs +600 -0
- package/dist/raw/index.cjs.map +1 -0
- package/dist/raw/index.d.cts +381 -0
- package/dist/raw/index.d.cts.map +1 -0
- package/dist/raw/index.d.ts +381 -0
- package/dist/raw/index.d.ts.map +1 -0
- package/dist/raw/index.js +601 -0
- package/dist/raw/index.js.map +1 -0
- package/dist/s3/index.cjs +23 -0
- package/dist/s3/index.cjs.map +1 -0
- package/dist/s3/index.d.cts +74 -0
- package/dist/s3/index.d.cts.map +1 -0
- package/dist/s3/index.d.ts +74 -0
- package/dist/s3/index.d.ts.map +1 -0
- package/dist/s3/index.js +23 -0
- package/dist/s3/index.js.map +1 -0
- package/dist/simulator/capabilities.cjs +53 -0
- package/dist/simulator/capabilities.cjs.map +1 -0
- package/dist/simulator/capabilities.d.cts +15 -0
- package/dist/simulator/capabilities.d.cts.map +1 -0
- package/dist/simulator/capabilities.d.ts +15 -0
- package/dist/simulator/capabilities.d.ts.map +1 -0
- package/dist/simulator/capabilities.js +53 -0
- package/dist/simulator/capabilities.js.map +1 -0
- package/dist/simulator/index.cjs +1559 -0
- package/dist/simulator/index.cjs.map +1 -0
- package/dist/simulator/index.d.cts +495 -0
- package/dist/simulator/index.d.cts.map +1 -0
- package/dist/simulator/index.d.ts +495 -0
- package/dist/simulator/index.d.ts.map +1 -0
- package/dist/simulator/index.js +1560 -0
- package/dist/simulator/index.js.map +1 -0
- package/dist/simulator/validation.cjs +174 -0
- package/dist/simulator/validation.cjs.map +1 -0
- package/dist/simulator/validation.d.cts +104 -0
- package/dist/simulator/validation.d.cts.map +1 -0
- package/dist/simulator/validation.d.ts +104 -0
- package/dist/simulator/validation.d.ts.map +1 -0
- package/dist/simulator/validation.js +174 -0
- package/dist/simulator/validation.js.map +1 -0
- package/dist/streams/collect.cjs +26 -0
- package/dist/streams/collect.cjs.map +1 -0
- package/dist/streams/collect.d.cts +18 -0
- package/dist/streams/collect.d.cts.map +1 -0
- package/dist/streams/collect.d.ts +18 -0
- package/dist/streams/collect.d.ts.map +1 -0
- package/dist/streams/collect.js +26 -0
- package/dist/streams/collect.js.map +1 -0
- package/dist/streams/hash.cjs +123 -0
- package/dist/streams/hash.cjs.map +1 -0
- package/dist/streams/hash.d.cts +42 -0
- package/dist/streams/hash.d.cts.map +1 -0
- package/dist/streams/hash.d.ts +42 -0
- package/dist/streams/hash.d.ts.map +1 -0
- package/dist/streams/hash.js +101 -0
- package/dist/streams/hash.js.map +1 -0
- package/dist/streams/index.cjs +13 -0
- package/dist/streams/index.cjs.map +1 -0
- package/dist/streams/index.d.cts +7 -0
- package/dist/streams/index.d.cts.map +1 -0
- package/dist/streams/index.d.ts +7 -0
- package/dist/streams/index.d.ts.map +1 -0
- package/dist/streams/index.js +13 -0
- package/dist/streams/index.js.map +1 -0
- package/dist/streams/progress.cjs +47 -0
- package/dist/streams/progress.cjs.map +1 -0
- package/dist/streams/progress.d.cts +53 -0
- package/dist/streams/progress.d.cts.map +1 -0
- package/dist/streams/progress.d.ts +53 -0
- package/dist/streams/progress.d.ts.map +1 -0
- package/dist/streams/progress.js +47 -0
- package/dist/streams/progress.js.map +1 -0
- package/dist/streams/source.cjs +155 -0
- package/dist/streams/source.cjs.map +1 -0
- package/dist/streams/source.d.cts +140 -0
- package/dist/streams/source.d.cts.map +1 -0
- package/dist/streams/source.d.ts +140 -0
- package/dist/streams/source.d.ts.map +1 -0
- package/dist/streams/source.js +155 -0
- package/dist/streams/source.js.map +1 -0
- package/dist/sync/actions/index.cjs +191 -0
- package/dist/sync/actions/index.cjs.map +1 -0
- package/dist/sync/actions/index.d.cts +167 -0
- package/dist/sync/actions/index.d.cts.map +1 -0
- package/dist/sync/actions/index.d.ts +167 -0
- package/dist/sync/actions/index.d.ts.map +1 -0
- package/dist/sync/actions/index.js +191 -0
- package/dist/sync/actions/index.js.map +1 -0
- package/dist/sync/index.cjs +23 -0
- package/dist/sync/index.cjs.map +1 -0
- package/dist/sync/index.d.cts +21 -0
- package/dist/sync/index.d.cts.map +1 -0
- package/dist/sync/index.d.ts +21 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +23 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/pairing.cjs +31 -0
- package/dist/sync/pairing.cjs.map +1 -0
- package/dist/sync/pairing.d.cts +13 -0
- package/dist/sync/pairing.d.cts.map +1 -0
- package/dist/sync/pairing.d.ts +13 -0
- package/dist/sync/pairing.d.ts.map +1 -0
- package/dist/sync/pairing.js +31 -0
- package/dist/sync/pairing.js.map +1 -0
- package/dist/sync/policies/compare.cjs +14 -0
- package/dist/sync/policies/compare.cjs.map +1 -0
- package/dist/sync/policies/compare.d.cts +13 -0
- package/dist/sync/policies/compare.d.cts.map +1 -0
- package/dist/sync/policies/compare.d.ts +13 -0
- package/dist/sync/policies/compare.d.ts.map +1 -0
- package/dist/sync/policies/compare.js +14 -0
- package/dist/sync/policies/compare.js.map +1 -0
- package/dist/sync/policies/index.cjs +74 -0
- package/dist/sync/policies/index.cjs.map +1 -0
- package/dist/sync/policies/index.d.cts +42 -0
- package/dist/sync/policies/index.d.cts.map +1 -0
- package/dist/sync/policies/index.d.ts +42 -0
- package/dist/sync/policies/index.d.ts.map +1 -0
- package/dist/sync/policies/index.js +74 -0
- package/dist/sync/policies/index.js.map +1 -0
- package/dist/sync/scanners/b2.cjs +57 -0
- package/dist/sync/scanners/b2.cjs.map +1 -0
- package/dist/sync/scanners/b2.d.cts +20 -0
- package/dist/sync/scanners/b2.d.cts.map +1 -0
- package/dist/sync/scanners/b2.d.ts +20 -0
- package/dist/sync/scanners/b2.d.ts.map +1 -0
- package/dist/sync/scanners/b2.js +57 -0
- package/dist/sync/scanners/b2.js.map +1 -0
- package/dist/sync/scanners/local.cjs +58 -0
- package/dist/sync/scanners/local.cjs.map +1 -0
- package/dist/sync/scanners/local.d.cts +24 -0
- package/dist/sync/scanners/local.d.cts.map +1 -0
- package/dist/sync/scanners/local.d.ts +24 -0
- package/dist/sync/scanners/local.d.ts.map +1 -0
- package/dist/sync/scanners/local.js +58 -0
- package/dist/sync/scanners/local.js.map +1 -0
- package/dist/sync/synchronizer.cjs +203 -0
- package/dist/sync/synchronizer.cjs.map +1 -0
- package/dist/sync/synchronizer.d.cts +52 -0
- package/dist/sync/synchronizer.d.cts.map +1 -0
- package/dist/sync/synchronizer.d.ts +52 -0
- package/dist/sync/synchronizer.d.ts.map +1 -0
- package/dist/sync/synchronizer.js +181 -0
- package/dist/sync/synchronizer.js.map +1 -0
- package/dist/sync/types.d.cts +121 -0
- package/dist/sync/types.d.cts.map +1 -0
- package/dist/sync/types.d.ts +121 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/types/auth.cjs +58 -0
- package/dist/types/auth.cjs.map +1 -0
- package/dist/types/auth.d.cts +150 -0
- package/dist/types/auth.d.cts.map +1 -0
- package/dist/types/auth.d.ts +150 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +58 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/bucket.cjs +44 -0
- package/dist/types/bucket.cjs.map +1 -0
- package/dist/types/bucket.d.cts +245 -0
- package/dist/types/bucket.d.cts.map +1 -0
- package/dist/types/bucket.d.ts +245 -0
- package/dist/types/bucket.d.ts.map +1 -0
- package/dist/types/bucket.js +44 -0
- package/dist/types/bucket.js.map +1 -0
- package/dist/types/download.d.cts +110 -0
- package/dist/types/download.d.cts.map +1 -0
- package/dist/types/download.d.ts +110 -0
- package/dist/types/download.d.ts.map +1 -0
- package/dist/types/encryption.cjs +343 -0
- package/dist/types/encryption.cjs.map +1 -0
- package/dist/types/encryption.d.cts +132 -0
- package/dist/types/encryption.d.cts.map +1 -0
- package/dist/types/encryption.d.ts +132 -0
- package/dist/types/encryption.d.ts.map +1 -0
- package/dist/types/encryption.js +321 -0
- package/dist/types/encryption.js.map +1 -0
- package/dist/types/errors.d.cts +16 -0
- package/dist/types/errors.d.cts.map +1 -0
- package/dist/types/errors.d.ts +16 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/file.cjs +23 -0
- package/dist/types/file.cjs.map +1 -0
- package/dist/types/file.d.cts +220 -0
- package/dist/types/file.d.cts.map +1 -0
- package/dist/types/file.d.ts +220 -0
- package/dist/types/file.d.ts.map +1 -0
- package/dist/types/file.js +23 -0
- package/dist/types/file.js.map +1 -0
- package/dist/types/ids.cjs +27 -0
- package/dist/types/ids.cjs.map +1 -0
- package/dist/types/ids.d.cts +84 -0
- package/dist/types/ids.d.cts.map +1 -0
- package/dist/types/ids.d.ts +84 -0
- package/dist/types/ids.d.ts.map +1 -0
- package/dist/types/ids.js +27 -0
- package/dist/types/ids.js.map +1 -0
- package/dist/types/index.d.cts +25 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/key.d.cts +84 -0
- package/dist/types/key.d.cts.map +1 -0
- package/dist/types/key.d.ts +84 -0
- package/dist/types/key.d.ts.map +1 -0
- package/dist/types/lock.cjs +17 -0
- package/dist/types/lock.cjs.map +1 -0
- package/dist/types/lock.d.cts +92 -0
- package/dist/types/lock.d.cts.map +1 -0
- package/dist/types/lock.d.ts +92 -0
- package/dist/types/lock.d.ts.map +1 -0
- package/dist/types/lock.js +17 -0
- package/dist/types/lock.js.map +1 -0
- package/dist/types/notifications.cjs +24 -0
- package/dist/types/notifications.cjs.map +1 -0
- package/dist/types/notifications.d.cts +97 -0
- package/dist/types/notifications.d.cts.map +1 -0
- package/dist/types/notifications.d.ts +97 -0
- package/dist/types/notifications.d.ts.map +1 -0
- package/dist/types/notifications.js +24 -0
- package/dist/types/notifications.js.map +1 -0
- package/dist/types/replication.d.cts +42 -0
- package/dist/types/replication.d.cts.map +1 -0
- package/dist/types/replication.d.ts +42 -0
- package/dist/types/replication.d.ts.map +1 -0
- package/dist/types/upload.d.cts +219 -0
- package/dist/types/upload.d.cts.map +1 -0
- package/dist/types/upload.d.ts +219 -0
- package/dist/types/upload.d.ts.map +1 -0
- package/dist/upload/cancel.cjs +10 -0
- package/dist/upload/cancel.cjs.map +1 -0
- package/dist/upload/cancel.d.cts +23 -0
- package/dist/upload/cancel.d.cts.map +1 -0
- package/dist/upload/cancel.d.ts +23 -0
- package/dist/upload/cancel.d.ts.map +1 -0
- package/dist/upload/cancel.js +10 -0
- package/dist/upload/cancel.js.map +1 -0
- package/dist/upload/concurrency.cjs +54 -0
- package/dist/upload/concurrency.cjs.map +1 -0
- package/dist/upload/concurrency.d.cts +46 -0
- package/dist/upload/concurrency.d.cts.map +1 -0
- package/dist/upload/concurrency.d.ts +46 -0
- package/dist/upload/concurrency.d.ts.map +1 -0
- package/dist/upload/concurrency.js +54 -0
- package/dist/upload/concurrency.js.map +1 -0
- package/dist/upload/large.cjs +222 -0
- package/dist/upload/large.cjs.map +1 -0
- package/dist/upload/large.d.cts +71 -0
- package/dist/upload/large.d.cts.map +1 -0
- package/dist/upload/large.d.ts +71 -0
- package/dist/upload/large.d.ts.map +1 -0
- package/dist/upload/large.js +222 -0
- package/dist/upload/large.js.map +1 -0
- package/dist/upload/resume.cjs +34 -0
- package/dist/upload/resume.cjs.map +1 -0
- package/dist/upload/resume.d.cts +33 -0
- package/dist/upload/resume.d.cts.map +1 -0
- package/dist/upload/resume.d.ts +33 -0
- package/dist/upload/resume.d.ts.map +1 -0
- package/dist/upload/resume.js +34 -0
- package/dist/upload/resume.js.map +1 -0
- package/dist/upload/single.cjs +47 -0
- package/dist/upload/single.cjs.map +1 -0
- package/dist/upload/single.d.cts +51 -0
- package/dist/upload/single.d.cts.map +1 -0
- package/dist/upload/single.d.ts +51 -0
- package/dist/upload/single.d.ts.map +1 -0
- package/dist/upload/single.js +47 -0
- package/dist/upload/single.js.map +1 -0
- package/dist/upload/stream.cjs +198 -0
- package/dist/upload/stream.cjs.map +1 -0
- package/dist/upload/stream.d.cts +61 -0
- package/dist/upload/stream.d.cts.map +1 -0
- package/dist/upload/stream.d.ts +61 -0
- package/dist/upload/stream.d.ts.map +1 -0
- package/dist/upload/stream.js +198 -0
- package/dist/upload/stream.js.map +1 -0
- package/dist/util/best-effort.cjs +10 -0
- package/dist/util/best-effort.cjs.map +1 -0
- package/dist/util/best-effort.d.cts +31 -0
- package/dist/util/best-effort.d.cts.map +1 -0
- package/dist/util/best-effort.d.ts +31 -0
- package/dist/util/best-effort.d.ts.map +1 -0
- package/dist/util/best-effort.js +10 -0
- package/dist/util/best-effort.js.map +1 -0
- package/dist/util/defaults.cjs +11 -0
- package/dist/util/defaults.cjs.map +1 -0
- package/dist/util/defaults.d.cts +54 -0
- package/dist/util/defaults.d.cts.map +1 -0
- package/dist/util/defaults.d.ts +54 -0
- package/dist/util/defaults.d.ts.map +1 -0
- package/dist/util/defaults.js +11 -0
- package/dist/util/defaults.js.map +1 -0
- package/dist/util/normalize.cjs +16 -0
- package/dist/util/normalize.cjs.map +1 -0
- package/dist/util/normalize.d.cts +62 -0
- package/dist/util/normalize.d.cts.map +1 -0
- package/dist/util/normalize.d.ts +62 -0
- package/dist/util/normalize.d.ts.map +1 -0
- package/dist/util/normalize.js +16 -0
- package/dist/util/normalize.js.map +1 -0
- package/dist/util/paginator.cjs +20 -0
- package/dist/util/paginator.cjs.map +1 -0
- package/dist/util/paginator.d.cts +120 -0
- package/dist/util/paginator.d.cts.map +1 -0
- package/dist/util/paginator.d.ts +120 -0
- package/dist/util/paginator.d.ts.map +1 -0
- package/dist/util/paginator.js +20 -0
- package/dist/util/paginator.js.map +1 -0
- package/dist/util/plan-ranges.cjs +28 -0
- package/dist/util/plan-ranges.cjs.map +1 -0
- package/dist/util/plan-ranges.d.cts +56 -0
- package/dist/util/plan-ranges.d.cts.map +1 -0
- package/dist/util/plan-ranges.d.ts +56 -0
- package/dist/util/plan-ranges.d.ts.map +1 -0
- package/dist/util/plan-ranges.js +28 -0
- package/dist/util/plan-ranges.js.map +1 -0
- package/dist/util/text-codec.cjs +7 -0
- package/dist/util/text-codec.cjs.map +1 -0
- package/dist/util/text-codec.d.cts +26 -0
- package/dist/util/text-codec.d.cts.map +1 -0
- package/dist/util/text-codec.d.ts +26 -0
- package/dist/util/text-codec.d.ts.map +1 -0
- package/dist/util/text-codec.js +7 -0
- package/dist/util/text-codec.js.map +1 -0
- package/dist/util/to-error.cjs +7 -0
- package/dist/util/to-error.cjs.map +1 -0
- package/dist/util/to-error.d.cts +15 -0
- package/dist/util/to-error.d.cts.map +1 -0
- package/dist/util/to-error.d.ts +15 -0
- package/dist/util/to-error.d.ts.map +1 -0
- package/dist/util/to-error.js +7 -0
- package/dist/util/to-error.js.map +1 -0
- package/dist/version.cjs +6 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.d.cts +14 -0
- package/dist/version.d.cts.map +1 -0
- package/dist/version.d.ts +14 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/package.json +198 -0
|
@@ -0,0 +1,600 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const normalize = require("../util/normalize.cjs");
|
|
4
|
+
const encoding = require("./encoding.cjs");
|
|
5
|
+
const encryption = require("../types/encryption.cjs");
|
|
6
|
+
class RawClient {
|
|
7
|
+
/** @internal */
|
|
8
|
+
transport;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new RawClient with the given transport.
|
|
11
|
+
* @param options - The constructor configuration.
|
|
12
|
+
*/
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this.transport = options.transport;
|
|
15
|
+
}
|
|
16
|
+
// --- Auth ---
|
|
17
|
+
/**
|
|
18
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-authorize-account | b2_authorize_account}.
|
|
19
|
+
* @param applicationKeyId - The application key ID for authentication.
|
|
20
|
+
* @param applicationKey - The application key secret.
|
|
21
|
+
* @param realmUrl - The B2 realm URL to authenticate against.
|
|
22
|
+
*
|
|
23
|
+
* @returns The authorization response with API URLs and credentials.
|
|
24
|
+
*/
|
|
25
|
+
async authorizeAccount(applicationKeyId, applicationKey, realmUrl = "https://api.backblazeb2.com") {
|
|
26
|
+
const response = await this.transport.send({
|
|
27
|
+
url: `${realmUrl}/b2api/v3/b2_authorize_account`,
|
|
28
|
+
method: "GET",
|
|
29
|
+
headers: {
|
|
30
|
+
Authorization: `Basic ${btoa(`${applicationKeyId}:${applicationKey}`)}`
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return response.json();
|
|
34
|
+
}
|
|
35
|
+
// --- Buckets ---
|
|
36
|
+
/**
|
|
37
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-create-bucket | b2_create_bucket}.
|
|
38
|
+
* @param apiUrl - The B2 API base URL.
|
|
39
|
+
* @param authToken - The authorization token.
|
|
40
|
+
* @param request - The API request parameters.
|
|
41
|
+
*
|
|
42
|
+
* @returns The created bucket metadata.
|
|
43
|
+
*/
|
|
44
|
+
async createBucket(apiUrl, authToken, request) {
|
|
45
|
+
return this.postJson(apiUrl, authToken, "b2_create_bucket", request);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-delete-bucket | b2_delete_bucket}.
|
|
49
|
+
* @param apiUrl - The B2 API base URL.
|
|
50
|
+
* @param authToken - The authorization token.
|
|
51
|
+
* @param request - The API request parameters.
|
|
52
|
+
*
|
|
53
|
+
* @returns The deleted bucket metadata.
|
|
54
|
+
*/
|
|
55
|
+
async deleteBucket(apiUrl, authToken, request) {
|
|
56
|
+
return this.postJson(apiUrl, authToken, "b2_delete_bucket", request);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-list-buckets | b2_list_buckets}.
|
|
60
|
+
* @param apiUrl - The B2 API base URL.
|
|
61
|
+
* @param authToken - The authorization token.
|
|
62
|
+
* @param request - The API request parameters.
|
|
63
|
+
*
|
|
64
|
+
* @returns The list of matching buckets.
|
|
65
|
+
*/
|
|
66
|
+
async listBuckets(apiUrl, authToken, request) {
|
|
67
|
+
return this.postJson(apiUrl, authToken, "b2_list_buckets", request);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-update-bucket | b2_update_bucket}.
|
|
71
|
+
* @param apiUrl - The B2 API base URL.
|
|
72
|
+
* @param authToken - The authorization token.
|
|
73
|
+
* @param request - The API request parameters.
|
|
74
|
+
*
|
|
75
|
+
* @returns The updated bucket metadata.
|
|
76
|
+
*/
|
|
77
|
+
async updateBucket(apiUrl, authToken, request) {
|
|
78
|
+
return this.postJson(apiUrl, authToken, "b2_update_bucket", request);
|
|
79
|
+
}
|
|
80
|
+
// --- Files ---
|
|
81
|
+
/**
|
|
82
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-get-upload-url | b2_get_upload_url}.
|
|
83
|
+
* @param apiUrl - The B2 API base URL.
|
|
84
|
+
* @param authToken - The authorization token.
|
|
85
|
+
* @param request - The API request parameters.
|
|
86
|
+
*
|
|
87
|
+
* @returns The upload URL and authorization token.
|
|
88
|
+
*/
|
|
89
|
+
async getUploadUrl(apiUrl, authToken, request) {
|
|
90
|
+
return this.postJson(apiUrl, authToken, "b2_get_upload_url", request);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-upload-file | b2_upload_file}.
|
|
94
|
+
*
|
|
95
|
+
* Unlike most methods, this posts directly to the `uploadUrl` obtained
|
|
96
|
+
* from {@link getUploadUrl} rather than the API URL.
|
|
97
|
+
* @param uploadUrl - The upload endpoint URL.
|
|
98
|
+
* @param headers - The request headers including authorization and content metadata.
|
|
99
|
+
* @param body - The file data to upload.
|
|
100
|
+
* @param signal - An optional abort signal for cancellation.
|
|
101
|
+
*
|
|
102
|
+
* @returns The uploaded file version metadata.
|
|
103
|
+
*/
|
|
104
|
+
async uploadFile(uploadUrl, headers, body, signal) {
|
|
105
|
+
const reqHeaders = {
|
|
106
|
+
Authorization: headers.authorization,
|
|
107
|
+
"X-Bz-File-Name": encoding.encodeFileName(headers.fileName),
|
|
108
|
+
"Content-Type": headers.contentType,
|
|
109
|
+
"Content-Length": String(headers.contentLength),
|
|
110
|
+
"X-Bz-Content-Sha1": headers.contentSha1,
|
|
111
|
+
...encoding.buildFileInfoHeaders(headers.fileInfo)
|
|
112
|
+
};
|
|
113
|
+
if (headers.lastModifiedMillis !== void 0) {
|
|
114
|
+
reqHeaders["X-Bz-Info-src_last_modified_millis"] = String(headers.lastModifiedMillis);
|
|
115
|
+
}
|
|
116
|
+
if (headers.contentDisposition) {
|
|
117
|
+
reqHeaders["X-Bz-Info-b2-content-disposition"] = headers.contentDisposition;
|
|
118
|
+
}
|
|
119
|
+
if (headers.contentLanguage) {
|
|
120
|
+
reqHeaders["X-Bz-Info-b2-content-language"] = headers.contentLanguage;
|
|
121
|
+
}
|
|
122
|
+
if (headers.expires) {
|
|
123
|
+
reqHeaders["X-Bz-Info-b2-expires"] = headers.expires;
|
|
124
|
+
}
|
|
125
|
+
if (headers.cacheControl) {
|
|
126
|
+
reqHeaders["X-Bz-Info-b2-cache-control"] = headers.cacheControl;
|
|
127
|
+
}
|
|
128
|
+
if (headers.contentEncoding) {
|
|
129
|
+
reqHeaders["X-Bz-Info-b2-content-encoding"] = headers.contentEncoding;
|
|
130
|
+
}
|
|
131
|
+
applyEncryptionHeaders(reqHeaders, headers.serverSideEncryption);
|
|
132
|
+
applyRetentionHeaders(reqHeaders, headers.fileRetention);
|
|
133
|
+
applyLegalHoldHeader(reqHeaders, headers.legalHold);
|
|
134
|
+
const response = await this.transport.send({
|
|
135
|
+
url: uploadUrl,
|
|
136
|
+
method: "POST",
|
|
137
|
+
headers: reqHeaders,
|
|
138
|
+
body,
|
|
139
|
+
...signal !== void 0 ? { signal } : {}
|
|
140
|
+
});
|
|
141
|
+
return normalize.normalizeFileVersionSha1(await response.json());
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-list-file-names | b2_list_file_names}.
|
|
145
|
+
* @param apiUrl - The B2 API base URL.
|
|
146
|
+
* @param authToken - The authorization token.
|
|
147
|
+
* @param request - The API request parameters.
|
|
148
|
+
*
|
|
149
|
+
* @returns The list of file names and optional continuation token.
|
|
150
|
+
*/
|
|
151
|
+
async listFileNames(apiUrl, authToken, request) {
|
|
152
|
+
return normalize.normalizeFileVersionListSha1(
|
|
153
|
+
await this.postJson(apiUrl, authToken, "b2_list_file_names", request)
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-list-file-versions | b2_list_file_versions}.
|
|
158
|
+
* @param apiUrl - The B2 API base URL.
|
|
159
|
+
* @param authToken - The authorization token.
|
|
160
|
+
* @param request - The API request parameters.
|
|
161
|
+
*
|
|
162
|
+
* @returns The list of file versions and optional continuation token.
|
|
163
|
+
*/
|
|
164
|
+
async listFileVersions(apiUrl, authToken, request) {
|
|
165
|
+
return normalize.normalizeFileVersionListSha1(
|
|
166
|
+
await this.postJson(
|
|
167
|
+
apiUrl,
|
|
168
|
+
authToken,
|
|
169
|
+
"b2_list_file_versions",
|
|
170
|
+
request
|
|
171
|
+
)
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-get-file-info | b2_get_file_info}.
|
|
176
|
+
* @param apiUrl - The B2 API base URL.
|
|
177
|
+
* @param authToken - The authorization token.
|
|
178
|
+
* @param request - The API request parameters.
|
|
179
|
+
*
|
|
180
|
+
* @returns The file version metadata.
|
|
181
|
+
*/
|
|
182
|
+
async getFileInfo(apiUrl, authToken, request) {
|
|
183
|
+
return normalize.normalizeFileVersionSha1(
|
|
184
|
+
await this.postJson(apiUrl, authToken, "b2_get_file_info", request)
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-hide-file | b2_hide_file}.
|
|
189
|
+
* @param apiUrl - The B2 API base URL.
|
|
190
|
+
* @param authToken - The authorization token.
|
|
191
|
+
* @param request - The API request parameters.
|
|
192
|
+
*
|
|
193
|
+
* @returns The hidden file version metadata.
|
|
194
|
+
*/
|
|
195
|
+
async hideFile(apiUrl, authToken, request) {
|
|
196
|
+
return normalize.normalizeFileVersionSha1(
|
|
197
|
+
await this.postJson(apiUrl, authToken, "b2_hide_file", request)
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-delete-file-version | b2_delete_file_version}.
|
|
202
|
+
* @param apiUrl - The B2 API base URL.
|
|
203
|
+
* @param authToken - The authorization token.
|
|
204
|
+
* @param request - The API request parameters.
|
|
205
|
+
*
|
|
206
|
+
* @returns The deleted file version identifier.
|
|
207
|
+
*/
|
|
208
|
+
async deleteFileVersion(apiUrl, authToken, request) {
|
|
209
|
+
return this.postJson(
|
|
210
|
+
apiUrl,
|
|
211
|
+
authToken,
|
|
212
|
+
"b2_delete_file_version",
|
|
213
|
+
request
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-copy-file | b2_copy_file}.
|
|
218
|
+
* @param apiUrl - The B2 API base URL.
|
|
219
|
+
* @param authToken - The authorization token.
|
|
220
|
+
* @param request - The API request parameters.
|
|
221
|
+
*
|
|
222
|
+
* @returns The copied file version metadata.
|
|
223
|
+
*/
|
|
224
|
+
async copyFile(apiUrl, authToken, request) {
|
|
225
|
+
return normalize.normalizeFileVersionSha1(
|
|
226
|
+
await this.postJson(apiUrl, authToken, "b2_copy_file", request)
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-copy-part | b2_copy_part}.
|
|
231
|
+
* @param apiUrl - The B2 API base URL.
|
|
232
|
+
* @param authToken - The authorization token.
|
|
233
|
+
* @param request - The API request parameters.
|
|
234
|
+
*
|
|
235
|
+
* @returns The copied part metadata.
|
|
236
|
+
*/
|
|
237
|
+
async copyPart(apiUrl, authToken, request) {
|
|
238
|
+
return this.postJson(apiUrl, authToken, "b2_copy_part", request);
|
|
239
|
+
}
|
|
240
|
+
// --- Large Files ---
|
|
241
|
+
/**
|
|
242
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-start-large-file | b2_start_large_file}.
|
|
243
|
+
* @param apiUrl - The B2 API base URL.
|
|
244
|
+
* @param authToken - The authorization token.
|
|
245
|
+
* @param request - The API request parameters.
|
|
246
|
+
*
|
|
247
|
+
* @returns The started large file metadata with file ID.
|
|
248
|
+
*/
|
|
249
|
+
async startLargeFile(apiUrl, authToken, request) {
|
|
250
|
+
return this.postJson(apiUrl, authToken, "b2_start_large_file", request);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-get-upload-part-url | b2_get_upload_part_url}.
|
|
254
|
+
* @param apiUrl - The B2 API base URL.
|
|
255
|
+
* @param authToken - The authorization token.
|
|
256
|
+
* @param request - The API request parameters.
|
|
257
|
+
*
|
|
258
|
+
* @returns The upload part URL and authorization token.
|
|
259
|
+
*/
|
|
260
|
+
async getUploadPartUrl(apiUrl, authToken, request) {
|
|
261
|
+
return this.postJson(
|
|
262
|
+
apiUrl,
|
|
263
|
+
authToken,
|
|
264
|
+
"b2_get_upload_part_url",
|
|
265
|
+
request
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-upload-part | b2_upload_part}.
|
|
270
|
+
*
|
|
271
|
+
* Posts directly to the `uploadUrl` obtained from {@link getUploadPartUrl}
|
|
272
|
+
* rather than the API URL.
|
|
273
|
+
* @param uploadUrl - The upload endpoint URL.
|
|
274
|
+
* @param headers - The request headers including authorization and content metadata.
|
|
275
|
+
* @param body - The file data to upload.
|
|
276
|
+
* @param signal - An optional abort signal for cancellation.
|
|
277
|
+
*
|
|
278
|
+
* @returns The uploaded part metadata.
|
|
279
|
+
*/
|
|
280
|
+
async uploadPart(uploadUrl, headers, body, signal) {
|
|
281
|
+
const reqHeaders = {
|
|
282
|
+
Authorization: headers.authorization,
|
|
283
|
+
"X-Bz-Part-Number": String(headers.partNumber),
|
|
284
|
+
"Content-Length": String(headers.contentLength),
|
|
285
|
+
"X-Bz-Content-Sha1": headers.contentSha1
|
|
286
|
+
};
|
|
287
|
+
applyEncryptionHeaders(reqHeaders, headers.serverSideEncryption);
|
|
288
|
+
const response = await this.transport.send({
|
|
289
|
+
url: uploadUrl,
|
|
290
|
+
method: "POST",
|
|
291
|
+
headers: reqHeaders,
|
|
292
|
+
body,
|
|
293
|
+
...signal !== void 0 ? { signal } : {}
|
|
294
|
+
});
|
|
295
|
+
return response.json();
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-finish-large-file | b2_finish_large_file}.
|
|
299
|
+
* @param apiUrl - The B2 API base URL.
|
|
300
|
+
* @param authToken - The authorization token.
|
|
301
|
+
* @param request - The API request parameters.
|
|
302
|
+
*
|
|
303
|
+
* @returns The completed file version metadata.
|
|
304
|
+
*/
|
|
305
|
+
async finishLargeFile(apiUrl, authToken, request) {
|
|
306
|
+
return normalize.normalizeFileVersionSha1(
|
|
307
|
+
await this.postJson(apiUrl, authToken, "b2_finish_large_file", request)
|
|
308
|
+
);
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-cancel-large-file | b2_cancel_large_file}.
|
|
312
|
+
* @param apiUrl - The B2 API base URL.
|
|
313
|
+
* @param authToken - The authorization token.
|
|
314
|
+
* @param request - The API request parameters.
|
|
315
|
+
*
|
|
316
|
+
* @returns The cancelled large file metadata.
|
|
317
|
+
*/
|
|
318
|
+
async cancelLargeFile(apiUrl, authToken, request) {
|
|
319
|
+
return this.postJson(
|
|
320
|
+
apiUrl,
|
|
321
|
+
authToken,
|
|
322
|
+
"b2_cancel_large_file",
|
|
323
|
+
request
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-list-unfinished-large-files | b2_list_unfinished_large_files}.
|
|
328
|
+
* @param apiUrl - The B2 API base URL.
|
|
329
|
+
* @param authToken - The authorization token.
|
|
330
|
+
* @param request - The API request parameters.
|
|
331
|
+
*
|
|
332
|
+
* @returns The list of unfinished large files and optional continuation token.
|
|
333
|
+
*/
|
|
334
|
+
async listUnfinishedLargeFiles(apiUrl, authToken, request) {
|
|
335
|
+
return this.postJson(
|
|
336
|
+
apiUrl,
|
|
337
|
+
authToken,
|
|
338
|
+
"b2_list_unfinished_large_files",
|
|
339
|
+
request
|
|
340
|
+
);
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-list-parts | b2_list_parts}.
|
|
344
|
+
* @param apiUrl - The B2 API base URL.
|
|
345
|
+
* @param authToken - The authorization token.
|
|
346
|
+
* @param request - The API request parameters.
|
|
347
|
+
*
|
|
348
|
+
* @returns The list of uploaded parts and optional continuation token.
|
|
349
|
+
*/
|
|
350
|
+
async listParts(apiUrl, authToken, request) {
|
|
351
|
+
return this.postJson(apiUrl, authToken, "b2_list_parts", request);
|
|
352
|
+
}
|
|
353
|
+
// --- Downloads ---
|
|
354
|
+
/**
|
|
355
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-download-file-by-id | b2_download_file_by_id}.
|
|
356
|
+
* @param downloadUrl - The B2 download base URL.
|
|
357
|
+
* @param authToken - The authorization token.
|
|
358
|
+
* @param fileId - The unique identifier of the file to download.
|
|
359
|
+
* @param options - Optional download parameters for range requests and cancellation.
|
|
360
|
+
*
|
|
361
|
+
* @returns The response headers, streaming body, and HTTP status code.
|
|
362
|
+
*/
|
|
363
|
+
async downloadFileById(downloadUrl, authToken, fileId, options) {
|
|
364
|
+
const headers = buildDownloadRequestHeaders(authToken, options);
|
|
365
|
+
const url = appendDownloadOverrides(
|
|
366
|
+
`${downloadUrl}/b2api/v3/b2_download_file_by_id?fileId=${encodeURIComponent(fileId)}`,
|
|
367
|
+
options
|
|
368
|
+
);
|
|
369
|
+
const response = await this.transport.send({
|
|
370
|
+
url,
|
|
371
|
+
method: options?.method ?? "GET",
|
|
372
|
+
headers,
|
|
373
|
+
...options?.signal !== void 0 ? { signal: options.signal } : {}
|
|
374
|
+
});
|
|
375
|
+
return { headers: response.headers, body: response.body, status: response.status };
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-download-file-by-name | b2_download_file_by_name}.
|
|
379
|
+
* @param downloadUrl - The B2 download base URL.
|
|
380
|
+
* @param authToken - The authorization token.
|
|
381
|
+
* @param bucketName - The name of the bucket containing the file.
|
|
382
|
+
* @param fileName - The name of the file to download.
|
|
383
|
+
* @param options - Optional download parameters for range requests and cancellation.
|
|
384
|
+
*
|
|
385
|
+
* @returns The response headers, streaming body, and HTTP status code.
|
|
386
|
+
*/
|
|
387
|
+
async downloadFileByName(downloadUrl, authToken, bucketName, fileName, options) {
|
|
388
|
+
const headers = buildDownloadRequestHeaders(authToken, options);
|
|
389
|
+
const url = appendDownloadOverrides(
|
|
390
|
+
`${downloadUrl}/file/${encodeURIComponent(bucketName)}/${encoding.encodeFileName(fileName)}`,
|
|
391
|
+
options
|
|
392
|
+
);
|
|
393
|
+
const response = await this.transport.send({
|
|
394
|
+
url,
|
|
395
|
+
method: options?.method ?? "GET",
|
|
396
|
+
headers,
|
|
397
|
+
...options?.signal !== void 0 ? { signal: options.signal } : {}
|
|
398
|
+
});
|
|
399
|
+
return { headers: response.headers, body: response.body, status: response.status };
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-get-download-authorization | b2_get_download_authorization}.
|
|
403
|
+
* @param apiUrl - The B2 API base URL.
|
|
404
|
+
* @param authToken - The current session authorization token.
|
|
405
|
+
* @param request - The API request parameters.
|
|
406
|
+
*
|
|
407
|
+
* @returns The download authorization token for the specified file prefix.
|
|
408
|
+
*/
|
|
409
|
+
async getDownloadAuthorization(apiUrl, authToken, request) {
|
|
410
|
+
return this.postJson(
|
|
411
|
+
apiUrl,
|
|
412
|
+
authToken,
|
|
413
|
+
"b2_get_download_authorization",
|
|
414
|
+
request
|
|
415
|
+
);
|
|
416
|
+
}
|
|
417
|
+
// --- Keys ---
|
|
418
|
+
/**
|
|
419
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-create-key | b2_create_key}.
|
|
420
|
+
* @param apiUrl - The B2 API base URL.
|
|
421
|
+
* @param authToken - The authorization token.
|
|
422
|
+
* @param request - The API request parameters.
|
|
423
|
+
*
|
|
424
|
+
* @returns The newly created application key with secret.
|
|
425
|
+
*/
|
|
426
|
+
async createKey(apiUrl, authToken, request) {
|
|
427
|
+
return this.postJson(apiUrl, authToken, "b2_create_key", request);
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-list-keys | b2_list_keys}.
|
|
431
|
+
* @param apiUrl - The B2 API base URL.
|
|
432
|
+
* @param authToken - The authorization token.
|
|
433
|
+
* @param request - The API request parameters.
|
|
434
|
+
*
|
|
435
|
+
* @returns The list of application keys and optional continuation token.
|
|
436
|
+
*/
|
|
437
|
+
async listKeys(apiUrl, authToken, request) {
|
|
438
|
+
return this.postJson(apiUrl, authToken, "b2_list_keys", request);
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-delete-key | b2_delete_key}.
|
|
442
|
+
* @param apiUrl - The B2 API base URL.
|
|
443
|
+
* @param authToken - The authorization token.
|
|
444
|
+
* @param request - The API request parameters.
|
|
445
|
+
*
|
|
446
|
+
* @returns The deleted application key metadata.
|
|
447
|
+
*/
|
|
448
|
+
async deleteKey(apiUrl, authToken, request) {
|
|
449
|
+
return this.postJson(apiUrl, authToken, "b2_delete_key", request);
|
|
450
|
+
}
|
|
451
|
+
// --- Retention / Legal Hold ---
|
|
452
|
+
/**
|
|
453
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-update-file-retention | b2_update_file_retention}.
|
|
454
|
+
* @param apiUrl - The B2 API base URL.
|
|
455
|
+
* @param authToken - The authorization token.
|
|
456
|
+
* @param request - The API request parameters.
|
|
457
|
+
*
|
|
458
|
+
* @returns The updated file retention settings.
|
|
459
|
+
*/
|
|
460
|
+
async updateFileRetention(apiUrl, authToken, request) {
|
|
461
|
+
return this.postJson(
|
|
462
|
+
apiUrl,
|
|
463
|
+
authToken,
|
|
464
|
+
"b2_update_file_retention",
|
|
465
|
+
request
|
|
466
|
+
);
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-update-file-legal-hold | b2_update_file_legal_hold}.
|
|
470
|
+
* @param apiUrl - The B2 API base URL.
|
|
471
|
+
* @param authToken - The authorization token.
|
|
472
|
+
* @param request - The API request parameters.
|
|
473
|
+
*
|
|
474
|
+
* @returns The updated file legal hold status.
|
|
475
|
+
*/
|
|
476
|
+
async updateFileLegalHold(apiUrl, authToken, request) {
|
|
477
|
+
return this.postJson(
|
|
478
|
+
apiUrl,
|
|
479
|
+
authToken,
|
|
480
|
+
"b2_update_file_legal_hold",
|
|
481
|
+
request
|
|
482
|
+
);
|
|
483
|
+
}
|
|
484
|
+
// --- Notifications ---
|
|
485
|
+
/**
|
|
486
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-get-bucket-notification-rules | b2_get_bucket_notification_rules}.
|
|
487
|
+
* @param apiUrl - The B2 API base URL.
|
|
488
|
+
* @param authToken - The authorization token.
|
|
489
|
+
* @param request - The API request parameters.
|
|
490
|
+
*
|
|
491
|
+
* @returns The configured event notification rules for the specified bucket.
|
|
492
|
+
*/
|
|
493
|
+
async getBucketNotificationRules(apiUrl, authToken, request) {
|
|
494
|
+
return this.postJson(
|
|
495
|
+
apiUrl,
|
|
496
|
+
authToken,
|
|
497
|
+
"b2_get_bucket_notification_rules",
|
|
498
|
+
request
|
|
499
|
+
);
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Calls {@link https://www.backblaze.com/apidocs/b2-set-bucket-notification-rules | b2_set_bucket_notification_rules}.
|
|
503
|
+
* @param apiUrl - The B2 API base URL.
|
|
504
|
+
* @param authToken - The authorization token.
|
|
505
|
+
* @param request - The API request parameters.
|
|
506
|
+
*
|
|
507
|
+
* @returns The updated bucket notification rules.
|
|
508
|
+
*/
|
|
509
|
+
async setBucketNotificationRules(apiUrl, authToken, request) {
|
|
510
|
+
return this.postJson(
|
|
511
|
+
apiUrl,
|
|
512
|
+
authToken,
|
|
513
|
+
"b2_set_bucket_notification_rules",
|
|
514
|
+
request
|
|
515
|
+
);
|
|
516
|
+
}
|
|
517
|
+
// --- Internal ---
|
|
518
|
+
/**
|
|
519
|
+
* Sends a JSON POST request to the specified B2 API endpoint.
|
|
520
|
+
* @param apiUrl - The B2 API base URL.
|
|
521
|
+
* @param authToken - The authorization token.
|
|
522
|
+
* @param endpoint - The B2 API endpoint name.
|
|
523
|
+
* @param body - The JSON request body.
|
|
524
|
+
*
|
|
525
|
+
* @returns The parsed JSON response.
|
|
526
|
+
*/
|
|
527
|
+
async postJson(apiUrl, authToken, endpoint, body) {
|
|
528
|
+
const response = await this.transport.send({
|
|
529
|
+
url: `${apiUrl}/b2api/v3/${endpoint}`,
|
|
530
|
+
method: "POST",
|
|
531
|
+
headers: {
|
|
532
|
+
Authorization: authToken,
|
|
533
|
+
"Content-Type": "application/json"
|
|
534
|
+
},
|
|
535
|
+
body: JSON.stringify(body)
|
|
536
|
+
});
|
|
537
|
+
return response.json();
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
function applyEncryptionHeaders(headers, encryption$1) {
|
|
541
|
+
if (!encryption$1 || encryption$1.mode === encryption.EncryptionMode.None) return;
|
|
542
|
+
if (encryption$1.mode === encryption.EncryptionMode.SseB2) {
|
|
543
|
+
headers["X-Bz-Server-Side-Encryption"] = encryption.EncryptionAlgorithm.Aes256;
|
|
544
|
+
} else if (encryption$1.mode === encryption.EncryptionMode.SseC) {
|
|
545
|
+
headers["X-Bz-Server-Side-Encryption-Customer-Algorithm"] = encryption.EncryptionAlgorithm.Aes256;
|
|
546
|
+
headers["X-Bz-Server-Side-Encryption-Customer-Key"] = encryption$1.customerKey;
|
|
547
|
+
headers["X-Bz-Server-Side-Encryption-Customer-Key-Md5"] = encryption$1.customerKeyMd5;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
const DOWNLOAD_OVERRIDE_PARAMS = [
|
|
551
|
+
"b2ContentDisposition",
|
|
552
|
+
"b2ContentLanguage",
|
|
553
|
+
"b2ContentEncoding",
|
|
554
|
+
"b2ContentType",
|
|
555
|
+
"b2CacheControl",
|
|
556
|
+
"b2Expires"
|
|
557
|
+
];
|
|
558
|
+
function buildDownloadRequestHeaders(authToken, options) {
|
|
559
|
+
const headers = { Authorization: authToken };
|
|
560
|
+
if (options?.range) headers["Range"] = options.range;
|
|
561
|
+
if (options?.serverSideEncryption) {
|
|
562
|
+
applyEncryptionHeaders(headers, {
|
|
563
|
+
mode: encryption.EncryptionMode.SseC,
|
|
564
|
+
...options.serverSideEncryption
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
return headers;
|
|
568
|
+
}
|
|
569
|
+
function appendDownloadOverrides(url, options) {
|
|
570
|
+
if (!options) return url;
|
|
571
|
+
const params = [];
|
|
572
|
+
for (const key of DOWNLOAD_OVERRIDE_PARAMS) {
|
|
573
|
+
const value = options[key];
|
|
574
|
+
if (value !== void 0) {
|
|
575
|
+
params.push(`${key}=${encodeURIComponent(value)}`);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
if (params.length === 0) return url;
|
|
579
|
+
const separator = url.includes("?") ? "&" : "?";
|
|
580
|
+
return `${url}${separator}${params.join("&")}`;
|
|
581
|
+
}
|
|
582
|
+
function applyRetentionHeaders(headers, retention) {
|
|
583
|
+
if (!retention) return;
|
|
584
|
+
if (retention.mode) {
|
|
585
|
+
headers["X-Bz-File-Retention-Mode"] = retention.mode;
|
|
586
|
+
}
|
|
587
|
+
if (retention.retainUntilTimestamp) {
|
|
588
|
+
headers["X-Bz-File-Retention-Retain-Until-Timestamp"] = String(retention.retainUntilTimestamp);
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
function applyLegalHoldHeader(headers, legalHold) {
|
|
592
|
+
if (!legalHold) return;
|
|
593
|
+
headers["X-Bz-File-Legal-Hold"] = legalHold;
|
|
594
|
+
}
|
|
595
|
+
exports.buildFileInfoHeaders = encoding.buildFileInfoHeaders;
|
|
596
|
+
exports.decodeFileName = encoding.decodeFileName;
|
|
597
|
+
exports.encodeFileName = encoding.encodeFileName;
|
|
598
|
+
exports.parseFileInfoHeaders = encoding.parseFileInfoHeaders;
|
|
599
|
+
exports.RawClient = RawClient;
|
|
600
|
+
//# sourceMappingURL=index.cjs.map
|