@backblaze-labs/b2-sdk 0.2.0 → 0.3.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 +42 -1
- package/README.md +20 -2
- package/dist/_virtual/_b2-sdk-version-json.cjs +1 -1
- package/dist/_virtual/_b2-sdk-version-json.js +1 -1
- package/dist/auth/file.cjs.map +1 -1
- package/dist/backup/client.cjs +206 -0
- package/dist/backup/client.cjs.map +1 -0
- package/dist/backup/client.d.cts +238 -0
- package/dist/backup/client.d.cts.map +1 -0
- package/dist/backup/client.d.ts +238 -0
- package/dist/backup/client.d.ts.map +1 -0
- package/dist/backup/client.js +206 -0
- package/dist/backup/client.js.map +1 -0
- package/dist/backup/index.cjs +15 -0
- package/dist/backup/index.d.cts +22 -0
- package/dist/backup/index.d.cts.map +1 -0
- package/dist/backup/index.d.ts +22 -0
- package/dist/backup/index.d.ts.map +1 -0
- package/dist/backup/index.js +7 -0
- package/dist/backup/raw.cjs +146 -0
- package/dist/backup/raw.cjs.map +1 -0
- package/dist/backup/raw.d.cts +122 -0
- package/dist/backup/raw.d.cts.map +1 -0
- package/dist/backup/raw.d.ts +122 -0
- package/dist/backup/raw.d.ts.map +1 -0
- package/dist/backup/raw.js +146 -0
- package/dist/backup/raw.js.map +1 -0
- package/dist/bucket.cjs +2 -1
- package/dist/bucket.cjs.map +1 -1
- package/dist/bucket.js +2 -1
- package/dist/bucket.js.map +1 -1
- package/dist/copy/large.cjs +5 -3
- package/dist/copy/large.cjs.map +1 -1
- package/dist/copy/large.d.cts.map +1 -1
- package/dist/copy/large.d.ts.map +1 -1
- package/dist/copy/large.js +5 -3
- package/dist/copy/large.js.map +1 -1
- package/dist/download/checksum.cjs +6 -2
- package/dist/download/checksum.cjs.map +1 -1
- package/dist/download/checksum.js +6 -2
- package/dist/download/checksum.js.map +1 -1
- package/dist/download/parallel.cjs +52 -15
- package/dist/download/parallel.cjs.map +1 -1
- package/dist/download/parallel.d.cts +8 -1
- package/dist/download/parallel.d.cts.map +1 -1
- package/dist/download/parallel.d.ts +8 -1
- package/dist/download/parallel.d.ts.map +1 -1
- package/dist/download/parallel.js +52 -15
- package/dist/download/parallel.js.map +1 -1
- package/dist/download/single.cjs +141 -6
- package/dist/download/single.cjs.map +1 -1
- package/dist/download/single.d.cts.map +1 -1
- package/dist/download/single.d.ts.map +1 -1
- package/dist/download/single.js +141 -6
- package/dist/download/single.js.map +1 -1
- package/dist/errors/index.cjs +173 -3
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +119 -0
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +119 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +161 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/http/retry.cjs +1 -1
- package/dist/http/retry.cjs.map +1 -1
- package/dist/http/retry.js +1 -1
- package/dist/http/retry.js.map +1 -1
- package/dist/http/transport.cjs +61 -23
- package/dist/http/transport.cjs.map +1 -1
- package/dist/http/transport.d.cts +25 -3
- package/dist/http/transport.d.cts.map +1 -1
- package/dist/http/transport.d.ts +25 -3
- package/dist/http/transport.d.ts.map +1 -1
- package/dist/http/transport.js +59 -22
- package/dist/http/transport.js.map +1 -1
- package/dist/index.cjs +25 -2
- package/dist/index.d.cts +6 -4
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/object.cjs +1 -1
- package/dist/object.cjs.map +1 -1
- package/dist/object.d.cts +4 -2
- package/dist/object.d.cts.map +1 -1
- package/dist/object.d.ts +4 -2
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +1 -1
- package/dist/object.js.map +1 -1
- package/dist/partner/account-info.d.cts +43 -0
- package/dist/partner/account-info.d.cts.map +1 -0
- package/dist/partner/account-info.d.ts +43 -0
- package/dist/partner/account-info.d.ts.map +1 -0
- package/dist/partner/auth-clone.cjs +64 -0
- package/dist/partner/auth-clone.cjs.map +1 -0
- package/dist/partner/auth-clone.d.cts +27 -0
- package/dist/partner/auth-clone.d.cts.map +1 -0
- package/dist/partner/auth-clone.d.ts +27 -0
- package/dist/partner/auth-clone.d.ts.map +1 -0
- package/dist/partner/auth-clone.js +63 -0
- package/dist/partner/auth-clone.js.map +1 -0
- package/dist/partner/auth-core.cjs +175 -0
- package/dist/partner/auth-core.cjs.map +1 -0
- package/dist/partner/auth-core.d.cts +111 -0
- package/dist/partner/auth-core.d.cts.map +1 -0
- package/dist/partner/auth-core.d.ts +111 -0
- package/dist/partner/auth-core.d.ts.map +1 -0
- package/dist/partner/auth-core.js +175 -0
- package/dist/partner/auth-core.js.map +1 -0
- package/dist/partner/auth-shape.cjs +36 -0
- package/dist/partner/auth-shape.cjs.map +1 -0
- package/dist/partner/auth-shape.d.cts +12 -0
- package/dist/partner/auth-shape.d.cts.map +1 -0
- package/dist/partner/auth-shape.d.ts +12 -0
- package/dist/partner/auth-shape.d.ts.map +1 -0
- package/dist/partner/auth-shape.js +36 -0
- package/dist/partner/auth-shape.js.map +1 -0
- package/dist/partner/client.cjs +255 -0
- package/dist/partner/client.cjs.map +1 -0
- package/dist/partner/client.d.cts +335 -0
- package/dist/partner/client.d.cts.map +1 -0
- package/dist/partner/client.d.ts +335 -0
- package/dist/partner/client.d.ts.map +1 -0
- package/dist/partner/client.js +255 -0
- package/dist/partner/client.js.map +1 -0
- package/dist/partner/endpoint-url.cjs +108 -0
- package/dist/partner/endpoint-url.cjs.map +1 -0
- package/dist/partner/endpoint-url.d.cts +72 -0
- package/dist/partner/endpoint-url.d.cts.map +1 -0
- package/dist/partner/endpoint-url.d.ts +72 -0
- package/dist/partner/endpoint-url.d.ts.map +1 -0
- package/dist/partner/endpoint-url.js +105 -0
- package/dist/partner/endpoint-url.js.map +1 -0
- package/dist/partner/in-memory.cjs +135 -0
- package/dist/partner/in-memory.cjs.map +1 -0
- package/dist/partner/in-memory.d.cts +99 -0
- package/dist/partner/in-memory.d.cts.map +1 -0
- package/dist/partner/in-memory.d.ts +99 -0
- package/dist/partner/in-memory.d.ts.map +1 -0
- package/dist/partner/in-memory.js +135 -0
- package/dist/partner/in-memory.js.map +1 -0
- package/dist/partner/index.cjs +18 -0
- package/dist/partner/index.d.cts +23 -0
- package/dist/partner/index.d.cts.map +1 -0
- package/dist/partner/index.d.ts +23 -0
- package/dist/partner/index.d.ts.map +1 -0
- package/dist/partner/index.js +7 -0
- package/dist/partner/raw.cjs +392 -0
- package/dist/partner/raw.cjs.map +1 -0
- package/dist/partner/raw.d.cts +223 -0
- package/dist/partner/raw.d.cts.map +1 -0
- package/dist/partner/raw.d.ts +223 -0
- package/dist/partner/raw.d.ts.map +1 -0
- package/dist/partner/raw.js +390 -0
- package/dist/partner/raw.js.map +1 -0
- package/dist/partner/redaction-placeholders.cjs +10 -0
- package/dist/partner/redaction-placeholders.cjs.map +1 -0
- package/dist/partner/redaction-placeholders.d.cts +5 -0
- package/dist/partner/redaction-placeholders.d.cts.map +1 -0
- package/dist/partner/redaction-placeholders.d.ts +5 -0
- package/dist/partner/redaction-placeholders.d.ts.map +1 -0
- package/dist/partner/redaction-placeholders.js +9 -0
- package/dist/partner/redaction-placeholders.js.map +1 -0
- package/dist/partner/redaction.cjs +267 -0
- package/dist/partner/redaction.cjs.map +1 -0
- package/dist/partner/redaction.d.cts +124 -0
- package/dist/partner/redaction.d.cts.map +1 -0
- package/dist/partner/redaction.d.ts +124 -0
- package/dist/partner/redaction.d.ts.map +1 -0
- package/dist/partner/redaction.js +257 -0
- package/dist/partner/redaction.js.map +1 -0
- package/dist/raw/index.cjs +81 -19
- package/dist/raw/index.cjs.map +1 -1
- package/dist/raw/index.d.cts +6 -2
- package/dist/raw/index.d.cts.map +1 -1
- package/dist/raw/index.d.ts +6 -2
- package/dist/raw/index.d.ts.map +1 -1
- package/dist/raw/index.js +81 -19
- package/dist/raw/index.js.map +1 -1
- package/dist/raw/url.cjs +111 -0
- package/dist/raw/url.cjs.map +1 -0
- package/dist/raw/url.d.cts +41 -0
- package/dist/raw/url.d.cts.map +1 -0
- package/dist/raw/url.d.ts +41 -0
- package/dist/raw/url.d.ts.map +1 -0
- package/dist/raw/url.js +110 -0
- package/dist/raw/url.js.map +1 -0
- package/dist/s3/sigv4.cjs +15 -10
- package/dist/s3/sigv4.cjs.map +1 -1
- package/dist/s3/sigv4.js +15 -10
- package/dist/s3/sigv4.js.map +1 -1
- package/dist/simulator/index.cjs +1197 -206
- package/dist/simulator/index.cjs.map +1 -1
- package/dist/simulator/index.d.cts +109 -11
- package/dist/simulator/index.d.cts.map +1 -1
- package/dist/simulator/index.d.ts +109 -11
- package/dist/simulator/index.d.ts.map +1 -1
- package/dist/simulator/index.js +1196 -209
- package/dist/simulator/index.js.map +1 -1
- package/dist/simulator/partner.cjs +719 -0
- package/dist/simulator/partner.cjs.map +1 -0
- package/dist/simulator/partner.d.cts +183 -0
- package/dist/simulator/partner.d.cts.map +1 -0
- package/dist/simulator/partner.d.ts +183 -0
- package/dist/simulator/partner.d.ts.map +1 -0
- package/dist/simulator/partner.js +718 -0
- package/dist/simulator/partner.js.map +1 -0
- package/dist/simulator/validation.cjs +577 -0
- package/dist/simulator/validation.cjs.map +1 -1
- package/dist/simulator/validation.d.cts +117 -0
- package/dist/simulator/validation.d.cts.map +1 -1
- package/dist/simulator/validation.d.ts +117 -0
- package/dist/simulator/validation.d.ts.map +1 -1
- package/dist/simulator/validation.js +563 -1
- package/dist/simulator/validation.js.map +1 -1
- package/dist/streams/file-source.cjs +1 -1
- package/dist/streams/file-source.cjs.map +1 -1
- package/dist/streams/file-source.js +1 -1
- package/dist/streams/file-source.js.map +1 -1
- package/dist/streams/index.cjs +1 -1
- package/dist/streams/index.js +1 -1
- package/dist/streams/source.cjs +2 -1
- package/dist/streams/source.cjs.map +1 -1
- package/dist/streams/source.js +2 -1
- package/dist/streams/source.js.map +1 -1
- package/dist/sync/b2-sha1-reader.cjs +6 -2
- package/dist/sync/b2-sha1-reader.cjs.map +1 -1
- package/dist/sync/b2-sha1-reader.d.cts.map +1 -1
- package/dist/sync/b2-sha1-reader.d.ts.map +1 -1
- package/dist/sync/b2-sha1-reader.js +6 -2
- package/dist/sync/b2-sha1-reader.js.map +1 -1
- package/dist/sync/download-staging.cjs +11 -10
- package/dist/sync/download-staging.cjs.map +1 -1
- package/dist/sync/download-staging.d.cts +2 -1
- package/dist/sync/download-staging.d.cts.map +1 -1
- package/dist/sync/download-staging.d.ts +2 -1
- package/dist/sync/download-staging.d.ts.map +1 -1
- package/dist/sync/download-staging.js +11 -10
- package/dist/sync/download-staging.js.map +1 -1
- package/dist/sync/filters.cjs.map +1 -1
- package/dist/sync/filters.js.map +1 -1
- package/dist/sync/local-file-io.cjs +11 -6
- package/dist/sync/local-file-io.cjs.map +1 -1
- package/dist/sync/local-file-io.d.cts +1 -0
- package/dist/sync/local-file-io.d.cts.map +1 -1
- package/dist/sync/local-file-io.d.ts +1 -0
- package/dist/sync/local-file-io.d.ts.map +1 -1
- package/dist/sync/local-file-io.js +11 -6
- package/dist/sync/local-file-io.js.map +1 -1
- package/dist/sync/local-sha1.cjs +6 -15
- package/dist/sync/local-sha1.cjs.map +1 -1
- package/dist/sync/local-sha1.d.cts +0 -8
- package/dist/sync/local-sha1.d.cts.map +1 -1
- package/dist/sync/local-sha1.d.ts +0 -8
- package/dist/sync/local-sha1.d.ts.map +1 -1
- package/dist/sync/local-sha1.js +7 -15
- package/dist/sync/local-sha1.js.map +1 -1
- package/dist/sync/policies/compare.cjs +5 -3
- package/dist/sync/policies/compare.cjs.map +1 -1
- package/dist/sync/policies/compare.d.cts.map +1 -1
- package/dist/sync/policies/compare.d.ts.map +1 -1
- package/dist/sync/policies/compare.js +6 -4
- package/dist/sync/policies/compare.js.map +1 -1
- package/dist/sync/policies/index.cjs +4 -10
- package/dist/sync/policies/index.cjs.map +1 -1
- package/dist/sync/policies/index.js +4 -10
- package/dist/sync/policies/index.js.map +1 -1
- package/dist/sync/scanners/b2.cjs +2 -2
- package/dist/sync/scanners/b2.cjs.map +1 -1
- package/dist/sync/scanners/b2.js +2 -2
- package/dist/sync/scanners/b2.js.map +1 -1
- package/dist/sync/scanners/local.cjs.map +1 -1
- package/dist/sync/scanners/local.js.map +1 -1
- package/dist/sync/synchronizer.cjs +3 -2
- package/dist/sync/synchronizer.cjs.map +1 -1
- package/dist/sync/synchronizer.js +3 -2
- package/dist/sync/synchronizer.js.map +1 -1
- package/dist/types/auth.cjs +4 -0
- package/dist/types/auth.cjs.map +1 -1
- package/dist/types/auth.d.cts +4 -0
- package/dist/types/auth.d.cts.map +1 -1
- package/dist/types/auth.d.ts +4 -0
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +4 -0
- package/dist/types/auth.js.map +1 -1
- package/dist/types/backup.d.cts +80 -0
- package/dist/types/backup.d.cts.map +1 -0
- package/dist/types/backup.d.ts +80 -0
- package/dist/types/backup.d.ts.map +1 -0
- package/dist/types/bucket.cjs.map +1 -1
- package/dist/types/bucket.d.cts +4 -2
- package/dist/types/bucket.d.cts.map +1 -1
- package/dist/types/bucket.d.ts +4 -2
- package/dist/types/bucket.d.ts.map +1 -1
- package/dist/types/bucket.js.map +1 -1
- package/dist/types/download.cjs +62 -0
- package/dist/types/download.cjs.map +1 -0
- package/dist/types/download.d.cts +98 -0
- package/dist/types/download.d.cts.map +1 -1
- package/dist/types/download.d.ts +98 -0
- package/dist/types/download.d.ts.map +1 -1
- package/dist/types/download.js +61 -0
- package/dist/types/download.js.map +1 -0
- package/dist/types/encryption.cjs +58 -229
- package/dist/types/encryption.cjs.map +1 -1
- package/dist/types/encryption.d.cts +32 -0
- package/dist/types/encryption.d.cts.map +1 -1
- package/dist/types/encryption.d.ts +32 -0
- package/dist/types/encryption.d.ts.map +1 -1
- package/dist/types/encryption.js +56 -229
- package/dist/types/encryption.js.map +1 -1
- package/dist/types/errors.cjs +9 -0
- package/dist/types/errors.cjs.map +1 -1
- package/dist/types/errors.d.cts +1 -1
- package/dist/types/errors.d.cts.map +1 -1
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +9 -0
- package/dist/types/errors.js.map +1 -1
- package/dist/types/file.cjs.map +1 -1
- package/dist/types/file.d.cts +15 -2
- package/dist/types/file.d.cts.map +1 -1
- package/dist/types/file.d.ts +15 -2
- package/dist/types/file.d.ts.map +1 -1
- package/dist/types/file.js.map +1 -1
- package/dist/types/ids.cjs +30 -0
- package/dist/types/ids.cjs.map +1 -1
- package/dist/types/ids.d.cts +32 -0
- package/dist/types/ids.d.cts.map +1 -1
- package/dist/types/ids.d.ts +32 -0
- package/dist/types/ids.d.ts.map +1 -1
- package/dist/types/ids.js +28 -1
- package/dist/types/ids.js.map +1 -1
- package/dist/types/index.d.cts +10 -6
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +10 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lock.cjs.map +1 -1
- package/dist/types/lock.d.cts +14 -0
- package/dist/types/lock.d.cts.map +1 -1
- package/dist/types/lock.d.ts +14 -0
- package/dist/types/lock.d.ts.map +1 -1
- package/dist/types/lock.js.map +1 -1
- package/dist/types/notifications.cjs +1 -1
- package/dist/types/notifications.cjs.map +1 -1
- package/dist/types/notifications.d.cts +5 -3
- package/dist/types/notifications.d.cts.map +1 -1
- package/dist/types/notifications.d.ts +5 -3
- package/dist/types/notifications.d.ts.map +1 -1
- package/dist/types/notifications.js +1 -1
- package/dist/types/notifications.js.map +1 -1
- package/dist/types/partner.cjs +32 -0
- package/dist/types/partner.cjs.map +1 -0
- package/dist/types/partner.d.cts +394 -0
- package/dist/types/partner.d.cts.map +1 -0
- package/dist/types/partner.d.ts +394 -0
- package/dist/types/partner.d.ts.map +1 -0
- package/dist/types/partner.js +29 -0
- package/dist/types/partner.js.map +1 -0
- package/dist/types/upload.d.cts +31 -18
- package/dist/types/upload.d.cts.map +1 -1
- package/dist/types/upload.d.ts +31 -18
- package/dist/types/upload.d.ts.map +1 -1
- package/dist/upload/abort-scope.cjs +0 -45
- package/dist/upload/abort-scope.cjs.map +1 -1
- package/dist/upload/abort-scope.d.cts +0 -22
- package/dist/upload/abort-scope.d.cts.map +1 -1
- package/dist/upload/abort-scope.d.ts +0 -22
- package/dist/upload/abort-scope.d.ts.map +1 -1
- package/dist/upload/abort-scope.js +1 -44
- package/dist/upload/abort-scope.js.map +1 -1
- package/dist/upload/finish.cjs +3 -8
- package/dist/upload/finish.cjs.map +1 -1
- package/dist/upload/finish.d.cts.map +1 -1
- package/dist/upload/finish.d.ts.map +1 -1
- package/dist/upload/finish.js +1 -6
- package/dist/upload/finish.js.map +1 -1
- package/dist/upload/large.cjs +5 -1
- package/dist/upload/large.cjs.map +1 -1
- package/dist/upload/large.d.cts +16 -2
- package/dist/upload/large.d.cts.map +1 -1
- package/dist/upload/large.d.ts +16 -2
- package/dist/upload/large.d.ts.map +1 -1
- package/dist/upload/large.js +5 -1
- package/dist/upload/large.js.map +1 -1
- package/dist/upload/options.cjs.map +1 -1
- package/dist/upload/options.d.cts +12 -0
- package/dist/upload/options.d.cts.map +1 -1
- package/dist/upload/options.d.ts +12 -0
- package/dist/upload/options.d.ts.map +1 -1
- package/dist/upload/options.js.map +1 -1
- package/dist/upload/resume.cjs +2 -1
- package/dist/upload/resume.cjs.map +1 -1
- package/dist/upload/resume.d.cts +3 -1
- package/dist/upload/resume.d.cts.map +1 -1
- package/dist/upload/resume.d.ts +3 -1
- package/dist/upload/resume.d.ts.map +1 -1
- package/dist/upload/resume.js +2 -1
- package/dist/upload/resume.js.map +1 -1
- package/dist/upload/retry.cjs +8 -3
- package/dist/upload/retry.cjs.map +1 -1
- package/dist/upload/retry.js +8 -3
- package/dist/upload/retry.js.map +1 -1
- package/dist/upload/single.cjs +2 -1
- package/dist/upload/single.cjs.map +1 -1
- package/dist/upload/single.d.cts +6 -0
- package/dist/upload/single.d.cts.map +1 -1
- package/dist/upload/single.d.ts +6 -0
- package/dist/upload/single.d.ts.map +1 -1
- package/dist/upload/single.js +2 -1
- package/dist/upload/single.js.map +1 -1
- package/dist/upload/stream.cjs +6 -4
- package/dist/upload/stream.cjs.map +1 -1
- package/dist/upload/stream.d.cts +6 -0
- package/dist/upload/stream.d.cts.map +1 -1
- package/dist/upload/stream.d.ts +6 -0
- package/dist/upload/stream.d.ts.map +1 -1
- package/dist/upload/stream.js +3 -1
- package/dist/upload/stream.js.map +1 -1
- package/dist/util/abort.cjs +114 -0
- package/dist/util/abort.cjs.map +1 -0
- package/dist/util/abort.d.cts +65 -0
- package/dist/util/abort.d.cts.map +1 -0
- package/dist/util/abort.d.ts +65 -0
- package/dist/util/abort.d.ts.map +1 -0
- package/dist/util/abort.js +109 -0
- package/dist/util/abort.js.map +1 -0
- package/dist/util/defaults.cjs +3 -0
- package/dist/util/defaults.cjs.map +1 -1
- package/dist/util/defaults.d.cts +2 -0
- package/dist/util/defaults.d.cts.map +1 -1
- package/dist/util/defaults.d.ts +2 -0
- package/dist/util/defaults.d.ts.map +1 -1
- package/dist/util/defaults.js +3 -1
- package/dist/util/defaults.js.map +1 -1
- package/dist/util/md5.cjs +211 -0
- package/dist/util/md5.cjs.map +1 -0
- package/dist/util/md5.d.cts +43 -0
- package/dist/util/md5.d.cts.map +1 -0
- package/dist/util/md5.d.ts +43 -0
- package/dist/util/md5.d.ts.map +1 -0
- package/dist/util/md5.js +209 -0
- package/dist/util/md5.js.map +1 -0
- package/dist/util/normalize.cjs +5 -5
- package/dist/util/normalize.cjs.map +1 -1
- package/dist/util/normalize.d.cts +7 -7
- package/dist/util/normalize.d.cts.map +1 -1
- package/dist/util/normalize.d.ts +7 -7
- package/dist/util/normalize.d.ts.map +1 -1
- package/dist/util/normalize.js +5 -5
- package/dist/util/normalize.js.map +1 -1
- package/dist/util/paginator.cjs +7 -1
- package/dist/util/paginator.cjs.map +1 -1
- package/dist/util/paginator.d.cts +3 -1
- package/dist/util/paginator.d.cts.map +1 -1
- package/dist/util/paginator.d.ts +3 -1
- package/dist/util/paginator.d.ts.map +1 -1
- package/dist/util/paginator.js +7 -1
- package/dist/util/paginator.js.map +1 -1
- package/package.json +38 -16
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpTransport } from '../http/transport.js';
|
|
2
2
|
import { FileVersion } from '../types/file.js';
|
|
3
3
|
import { EventNotificationRule } from '../types/notifications.js';
|
|
4
|
-
export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, LIST_ENDPOINT_CAPS, } from './validation.js';
|
|
4
|
+
export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, DOWNLOAD_AUTH_DURATION_MAX_SECONDS, DOWNLOAD_AUTH_DURATION_MIN_SECONDS, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, KEY_NAME_MAX, KEY_NAME_MIN, LIST_ENDPOINT_CAPS, } from './validation.js';
|
|
5
5
|
/** JSON response returned by {@link B2Simulator.handleRequest} and {@link B2Simulator.handleUpload}. */
|
|
6
6
|
export interface SimulatorJsonResponse {
|
|
7
7
|
/** HTTP status code. */
|
|
@@ -135,8 +135,12 @@ export interface B2SimulatorOptions {
|
|
|
135
135
|
* checks, bucket scoping, prefix scoping, and auth-token expiry on
|
|
136
136
|
* every request. The default `false` keeps the simulator permissive
|
|
137
137
|
* for account/application-key authorization (matching its
|
|
138
|
-
* long-standing behaviour)
|
|
139
|
-
*
|
|
138
|
+
* long-standing behaviour): any well-formed Basic credential whose
|
|
139
|
+
* applicationKeyId is not a simulator-created key receives the
|
|
140
|
+
* implicit master grant, so tests do not have to set up keys with
|
|
141
|
+
* the right capabilities. Created keys always authorize with their
|
|
142
|
+
* stored capabilities, bucket scope, name prefix, and expiration;
|
|
143
|
+
* a wrong or expired created-key secret is rejected.
|
|
140
144
|
*
|
|
141
145
|
* Upload authorization tokens returned by `b2_get_upload_url` and
|
|
142
146
|
* `b2_get_upload_part_url` are always enforced, regardless of this
|
|
@@ -145,6 +149,9 @@ export interface B2SimulatorOptions {
|
|
|
145
149
|
*
|
|
146
150
|
* In strict mode:
|
|
147
151
|
*
|
|
152
|
+
* - `b2_authorize_account` still accepts the documented implicit
|
|
153
|
+
* master credentials `test-key-id:test-key` and
|
|
154
|
+
* `master-key-id:master-key`.
|
|
148
155
|
* - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
|
|
149
156
|
* - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
|
|
150
157
|
* - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
|
|
@@ -164,6 +171,42 @@ export interface B2SimulatorOptions {
|
|
|
164
171
|
* rejected at the exact expiry boundary.
|
|
165
172
|
*/
|
|
166
173
|
authTokenTtlMs?: number;
|
|
174
|
+
/**
|
|
175
|
+
* When `true`, v3 `b2_authorize_account` responses include Partner and
|
|
176
|
+
* Computer Backup suites and issue Partner authorization tokens. Partner
|
|
177
|
+
* and Backup endpoint calls then require one of those issued tokens, even
|
|
178
|
+
* when `strictAuth` is otherwise disabled, so SDK auth-error paths can test
|
|
179
|
+
* documented 401 responses.
|
|
180
|
+
*
|
|
181
|
+
* Defaults to `false`: direct Partner/Backup endpoint tests remain
|
|
182
|
+
* permissive and accept any non-empty, whitespace-free Partner token without
|
|
183
|
+
* requiring an authorize call first.
|
|
184
|
+
*/
|
|
185
|
+
partnerAuthorize?: boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Whether Partner API endpoints should accept issued Partner authorization
|
|
188
|
+
* tokens. Defaults to `true`. Set to `false` to exercise documented
|
|
189
|
+
* `403 access_denied` prerequisite failures.
|
|
190
|
+
*/
|
|
191
|
+
partnerApiEnabled?: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Whether the simulated partner administrator has a valid phone number.
|
|
194
|
+
* Defaults to `true`; `false` produces Partner prerequisite failures
|
|
195
|
+
* such as `403 access_denied` or `401 invalid_sms_phone` depending on
|
|
196
|
+
* the endpoint's documented error shape.
|
|
197
|
+
*/
|
|
198
|
+
partnerAccountHasValidPhone?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Whether the simulated partner administrator account is in good standing.
|
|
201
|
+
* Defaults to `true`; `false` produces `403 access_denied` on Partner calls.
|
|
202
|
+
*/
|
|
203
|
+
partnerAccountInGoodStanding?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Whether the simulated account may set custom upload timestamps on
|
|
206
|
+
* `b2_upload_file` and `b2_start_large_file`. Defaults to `false`, matching
|
|
207
|
+
* production accounts without the restricted feature enabled.
|
|
208
|
+
*/
|
|
209
|
+
customUploadTimestampsEnabled?: boolean;
|
|
167
210
|
}
|
|
168
211
|
/**
|
|
169
212
|
* In-memory B2 simulator for testing. Implements the B2 native API at the
|
|
@@ -180,6 +223,15 @@ export interface B2SimulatorOptions {
|
|
|
180
223
|
* })
|
|
181
224
|
* await client.authorize()
|
|
182
225
|
* ```
|
|
226
|
+
*
|
|
227
|
+
* `test-key-id:test-key` is the documented implicit full-access
|
|
228
|
+
* storage credential. `master-key-id:master-key` is also accepted for
|
|
229
|
+
* tests that share storage and Partner simulator credentials. In the
|
|
230
|
+
* default permissive mode, other well-formed Basic credentials whose
|
|
231
|
+
* applicationKeyId was not minted by `b2_create_key` receive the same
|
|
232
|
+
* implicit master grant for backward compatibility. A simulator-created
|
|
233
|
+
* key always authorizes with its own capabilities, bucket restrictions,
|
|
234
|
+
* name prefix, and expiration.
|
|
183
235
|
*/
|
|
184
236
|
export declare class B2Simulator {
|
|
185
237
|
private readonly buckets;
|
|
@@ -196,6 +248,8 @@ export declare class B2Simulator {
|
|
|
196
248
|
private readonly onHookError?;
|
|
197
249
|
private readonly strictAuth;
|
|
198
250
|
private readonly authTokenTtlMs;
|
|
251
|
+
private readonly customUploadTimestampsEnabled;
|
|
252
|
+
private readonly partner;
|
|
199
253
|
/**
|
|
200
254
|
* Issued auth tokens with their associated grant scope + expiry. In
|
|
201
255
|
* permissive mode (`strictAuth: false`) this is still populated by
|
|
@@ -211,6 +265,8 @@ export declare class B2Simulator {
|
|
|
211
265
|
* state for tests.
|
|
212
266
|
*/
|
|
213
267
|
private readonly uploadTokens;
|
|
268
|
+
private readonly downloadAuthorizationTokens;
|
|
269
|
+
private readonly downloadAuthorizationExpiryHeap;
|
|
214
270
|
/**
|
|
215
271
|
* Virtual-clock offset applied to `Date.now()` for expiry checks.
|
|
216
272
|
* Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
|
|
@@ -282,6 +338,7 @@ export declare class B2Simulator {
|
|
|
282
338
|
* @returns Unix milliseconds.
|
|
283
339
|
*/
|
|
284
340
|
private now;
|
|
341
|
+
private isStoredKeyExpired;
|
|
285
342
|
private pruneExpiredUploadTokens;
|
|
286
343
|
private uploadTokenState;
|
|
287
344
|
private encodeUploadAuthorizationToken;
|
|
@@ -331,7 +388,25 @@ export declare class B2Simulator {
|
|
|
331
388
|
* @returns `null` when the request is authorized, otherwise a 401/403 response.
|
|
332
389
|
*/
|
|
333
390
|
private authorizeRequest;
|
|
391
|
+
private authorizeScopeGrant;
|
|
392
|
+
private authorizeDownloadRequest;
|
|
393
|
+
private isExpiredDownloadAuthorizationToken;
|
|
394
|
+
private purgeExpiredDownloadAuthorizationTokens;
|
|
395
|
+
private pushDownloadAuthorizationExpiry;
|
|
396
|
+
private popDownloadAuthorizationExpiry;
|
|
397
|
+
private authorizeDownloadResponseOverrides;
|
|
398
|
+
private downloadAuthorizationFromRequest;
|
|
399
|
+
private requestHasCapability;
|
|
400
|
+
private requireFileLockEnabled;
|
|
401
|
+
private requireGovernanceBypass;
|
|
402
|
+
private validateReplicationApplicationKey;
|
|
403
|
+
private invalidReplicationApplicationKey;
|
|
404
|
+
private invalidReplicationDestinationBucket;
|
|
405
|
+
private validateReplicationDestinationBuckets;
|
|
406
|
+
private validateReplicationApplicationKeys;
|
|
334
407
|
private requestScope;
|
|
408
|
+
private createBucketScope;
|
|
409
|
+
private updateBucketScope;
|
|
335
410
|
private listBucketsScope;
|
|
336
411
|
private fileVersionScope;
|
|
337
412
|
private copyFileScope;
|
|
@@ -345,19 +420,24 @@ export declare class B2Simulator {
|
|
|
345
420
|
private uploadUrlMatches;
|
|
346
421
|
private allowedBuckets;
|
|
347
422
|
/**
|
|
348
|
-
*
|
|
423
|
+
* Resolve the application key matching the `Authorization` header on
|
|
349
424
|
* an `authorize_account` request. The header is in the form
|
|
350
425
|
* `Basic base64(applicationKeyId:applicationKey)`.
|
|
351
426
|
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* `
|
|
427
|
+
* The simulator has two implicit full-access storage credentials:
|
|
428
|
+
* the documented `test-key-id:test-key` pair used by SDK tests and
|
|
429
|
+
* `master-key-id:master-key`. In default permissive mode, any other
|
|
430
|
+
* well-formed Basic credential whose applicationKeyId is not a stored
|
|
431
|
+
* key also receives that implicit master grant for backward
|
|
432
|
+
* compatibility. A credential whose applicationKeyId matches a stored
|
|
433
|
+
* key must use the stored secret and must not be expired.
|
|
355
434
|
*
|
|
356
435
|
* @param authzHeader - Raw HTTP `Authorization` header value.
|
|
357
436
|
*
|
|
358
|
-
* @returns The
|
|
437
|
+
* @returns The authorizing key's grant scope or the rejection reason.
|
|
359
438
|
*/
|
|
360
|
-
private
|
|
439
|
+
private findAuthorizationGrant;
|
|
440
|
+
private canAuthorizePartner;
|
|
361
441
|
/**
|
|
362
442
|
* Creates an {@link HttpTransport} that routes requests to this simulator.
|
|
363
443
|
* @returns A transport instance backed by this in-memory simulator.
|
|
@@ -417,7 +497,7 @@ export declare class B2Simulator {
|
|
|
417
497
|
consumeMatchingFault(url: string): FaultSpec | null;
|
|
418
498
|
/**
|
|
419
499
|
* Dispatches a JSON API request to the appropriate handler.
|
|
420
|
-
* @param
|
|
500
|
+
* @param method - The HTTP method.
|
|
421
501
|
* @param origin - The request URL origin used for simulator-issued endpoints.
|
|
422
502
|
* @param path - The request URL path containing the B2 endpoint name.
|
|
423
503
|
* @param headers - The HTTP request headers; consulted by the
|
|
@@ -426,7 +506,7 @@ export declare class B2Simulator {
|
|
|
426
506
|
*
|
|
427
507
|
* @returns An object with HTTP status and JSON response body.
|
|
428
508
|
*/
|
|
429
|
-
handleRequest(
|
|
509
|
+
handleRequest(method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
|
|
430
510
|
/**
|
|
431
511
|
* Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
|
|
432
512
|
* Dispatches to the appropriate internal handler based on the URL.
|
|
@@ -437,6 +517,8 @@ export declare class B2Simulator {
|
|
|
437
517
|
* @returns A promise resolving to an object with HTTP status and JSON response body.
|
|
438
518
|
*/
|
|
439
519
|
handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
|
|
520
|
+
private validateContentLength;
|
|
521
|
+
private parseCustomUploadTimestamp;
|
|
440
522
|
/**
|
|
441
523
|
* Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
|
|
442
524
|
* Returns the file data along with B2 response headers.
|
|
@@ -483,14 +565,24 @@ export declare class B2Simulator {
|
|
|
483
565
|
* @returns The SHA-1 string to store, or an error response on mismatch.
|
|
484
566
|
*/
|
|
485
567
|
private resolveUploadSha1;
|
|
568
|
+
private validateUploadPartEncryption;
|
|
486
569
|
private handleUploadPart;
|
|
570
|
+
private parsePartNumberHeader;
|
|
571
|
+
private validatePartNumber;
|
|
487
572
|
private downloadById;
|
|
488
573
|
private downloadByName;
|
|
574
|
+
private validateDownloadEncryption;
|
|
575
|
+
private validateSourceServerSideEncryption;
|
|
576
|
+
private resolveCopyDestinationEncryption;
|
|
577
|
+
private validateCopyPartDestinationEncryption;
|
|
489
578
|
private serveFile;
|
|
579
|
+
private addDownloadEncryptionHeaders;
|
|
580
|
+
private addDownloadObjectLockHeaders;
|
|
490
581
|
private authorize;
|
|
491
582
|
private createBucket;
|
|
492
583
|
private listBuckets;
|
|
493
584
|
private deleteBucket;
|
|
585
|
+
private bucketHasContents;
|
|
494
586
|
private updateBucket;
|
|
495
587
|
private getUploadUrl;
|
|
496
588
|
private listFileNames;
|
|
@@ -507,6 +599,8 @@ export declare class B2Simulator {
|
|
|
507
599
|
private listParts;
|
|
508
600
|
private copyPart;
|
|
509
601
|
private getDownloadAuthorization;
|
|
602
|
+
private createKeyCapabilitiesOutsideGrant;
|
|
603
|
+
private createKeyCreatorAccountId;
|
|
510
604
|
private createKey;
|
|
511
605
|
private listKeys;
|
|
512
606
|
private deleteKey;
|
|
@@ -531,6 +625,10 @@ export declare class B2Simulator {
|
|
|
531
625
|
*/
|
|
532
626
|
private findFile;
|
|
533
627
|
private makeFileVersion;
|
|
628
|
+
private newReplicationStatusField;
|
|
629
|
+
private replicationStatusMetadataFor;
|
|
630
|
+
private replicationStatusForNewFile;
|
|
631
|
+
private matchingEnabledReplicationRules;
|
|
534
632
|
private error;
|
|
535
633
|
/**
|
|
536
634
|
* Fire the pluggable post-upload hooks for a file that just landed in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA6B,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpTransport } from '../http/transport.js';
|
|
2
2
|
import { FileVersion } from '../types/file.js';
|
|
3
3
|
import { EventNotificationRule } from '../types/notifications.js';
|
|
4
|
-
export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, LIST_ENDPOINT_CAPS, } from './validation.js';
|
|
4
|
+
export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, DOWNLOAD_AUTH_DURATION_MAX_SECONDS, DOWNLOAD_AUTH_DURATION_MIN_SECONDS, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, KEY_NAME_MAX, KEY_NAME_MIN, LIST_ENDPOINT_CAPS, } from './validation.js';
|
|
5
5
|
/** JSON response returned by {@link B2Simulator.handleRequest} and {@link B2Simulator.handleUpload}. */
|
|
6
6
|
export interface SimulatorJsonResponse {
|
|
7
7
|
/** HTTP status code. */
|
|
@@ -135,8 +135,12 @@ export interface B2SimulatorOptions {
|
|
|
135
135
|
* checks, bucket scoping, prefix scoping, and auth-token expiry on
|
|
136
136
|
* every request. The default `false` keeps the simulator permissive
|
|
137
137
|
* for account/application-key authorization (matching its
|
|
138
|
-
* long-standing behaviour)
|
|
139
|
-
*
|
|
138
|
+
* long-standing behaviour): any well-formed Basic credential whose
|
|
139
|
+
* applicationKeyId is not a simulator-created key receives the
|
|
140
|
+
* implicit master grant, so tests do not have to set up keys with
|
|
141
|
+
* the right capabilities. Created keys always authorize with their
|
|
142
|
+
* stored capabilities, bucket scope, name prefix, and expiration;
|
|
143
|
+
* a wrong or expired created-key secret is rejected.
|
|
140
144
|
*
|
|
141
145
|
* Upload authorization tokens returned by `b2_get_upload_url` and
|
|
142
146
|
* `b2_get_upload_part_url` are always enforced, regardless of this
|
|
@@ -145,6 +149,9 @@ export interface B2SimulatorOptions {
|
|
|
145
149
|
*
|
|
146
150
|
* In strict mode:
|
|
147
151
|
*
|
|
152
|
+
* - `b2_authorize_account` still accepts the documented implicit
|
|
153
|
+
* master credentials `test-key-id:test-key` and
|
|
154
|
+
* `master-key-id:master-key`.
|
|
148
155
|
* - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
|
|
149
156
|
* - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
|
|
150
157
|
* - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
|
|
@@ -164,6 +171,42 @@ export interface B2SimulatorOptions {
|
|
|
164
171
|
* rejected at the exact expiry boundary.
|
|
165
172
|
*/
|
|
166
173
|
authTokenTtlMs?: number;
|
|
174
|
+
/**
|
|
175
|
+
* When `true`, v3 `b2_authorize_account` responses include Partner and
|
|
176
|
+
* Computer Backup suites and issue Partner authorization tokens. Partner
|
|
177
|
+
* and Backup endpoint calls then require one of those issued tokens, even
|
|
178
|
+
* when `strictAuth` is otherwise disabled, so SDK auth-error paths can test
|
|
179
|
+
* documented 401 responses.
|
|
180
|
+
*
|
|
181
|
+
* Defaults to `false`: direct Partner/Backup endpoint tests remain
|
|
182
|
+
* permissive and accept any non-empty, whitespace-free Partner token without
|
|
183
|
+
* requiring an authorize call first.
|
|
184
|
+
*/
|
|
185
|
+
partnerAuthorize?: boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Whether Partner API endpoints should accept issued Partner authorization
|
|
188
|
+
* tokens. Defaults to `true`. Set to `false` to exercise documented
|
|
189
|
+
* `403 access_denied` prerequisite failures.
|
|
190
|
+
*/
|
|
191
|
+
partnerApiEnabled?: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Whether the simulated partner administrator has a valid phone number.
|
|
194
|
+
* Defaults to `true`; `false` produces Partner prerequisite failures
|
|
195
|
+
* such as `403 access_denied` or `401 invalid_sms_phone` depending on
|
|
196
|
+
* the endpoint's documented error shape.
|
|
197
|
+
*/
|
|
198
|
+
partnerAccountHasValidPhone?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Whether the simulated partner administrator account is in good standing.
|
|
201
|
+
* Defaults to `true`; `false` produces `403 access_denied` on Partner calls.
|
|
202
|
+
*/
|
|
203
|
+
partnerAccountInGoodStanding?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Whether the simulated account may set custom upload timestamps on
|
|
206
|
+
* `b2_upload_file` and `b2_start_large_file`. Defaults to `false`, matching
|
|
207
|
+
* production accounts without the restricted feature enabled.
|
|
208
|
+
*/
|
|
209
|
+
customUploadTimestampsEnabled?: boolean;
|
|
167
210
|
}
|
|
168
211
|
/**
|
|
169
212
|
* In-memory B2 simulator for testing. Implements the B2 native API at the
|
|
@@ -180,6 +223,15 @@ export interface B2SimulatorOptions {
|
|
|
180
223
|
* })
|
|
181
224
|
* await client.authorize()
|
|
182
225
|
* ```
|
|
226
|
+
*
|
|
227
|
+
* `test-key-id:test-key` is the documented implicit full-access
|
|
228
|
+
* storage credential. `master-key-id:master-key` is also accepted for
|
|
229
|
+
* tests that share storage and Partner simulator credentials. In the
|
|
230
|
+
* default permissive mode, other well-formed Basic credentials whose
|
|
231
|
+
* applicationKeyId was not minted by `b2_create_key` receive the same
|
|
232
|
+
* implicit master grant for backward compatibility. A simulator-created
|
|
233
|
+
* key always authorizes with its own capabilities, bucket restrictions,
|
|
234
|
+
* name prefix, and expiration.
|
|
183
235
|
*/
|
|
184
236
|
export declare class B2Simulator {
|
|
185
237
|
private readonly buckets;
|
|
@@ -196,6 +248,8 @@ export declare class B2Simulator {
|
|
|
196
248
|
private readonly onHookError?;
|
|
197
249
|
private readonly strictAuth;
|
|
198
250
|
private readonly authTokenTtlMs;
|
|
251
|
+
private readonly customUploadTimestampsEnabled;
|
|
252
|
+
private readonly partner;
|
|
199
253
|
/**
|
|
200
254
|
* Issued auth tokens with their associated grant scope + expiry. In
|
|
201
255
|
* permissive mode (`strictAuth: false`) this is still populated by
|
|
@@ -211,6 +265,8 @@ export declare class B2Simulator {
|
|
|
211
265
|
* state for tests.
|
|
212
266
|
*/
|
|
213
267
|
private readonly uploadTokens;
|
|
268
|
+
private readonly downloadAuthorizationTokens;
|
|
269
|
+
private readonly downloadAuthorizationExpiryHeap;
|
|
214
270
|
/**
|
|
215
271
|
* Virtual-clock offset applied to `Date.now()` for expiry checks.
|
|
216
272
|
* Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
|
|
@@ -282,6 +338,7 @@ export declare class B2Simulator {
|
|
|
282
338
|
* @returns Unix milliseconds.
|
|
283
339
|
*/
|
|
284
340
|
private now;
|
|
341
|
+
private isStoredKeyExpired;
|
|
285
342
|
private pruneExpiredUploadTokens;
|
|
286
343
|
private uploadTokenState;
|
|
287
344
|
private encodeUploadAuthorizationToken;
|
|
@@ -331,7 +388,25 @@ export declare class B2Simulator {
|
|
|
331
388
|
* @returns `null` when the request is authorized, otherwise a 401/403 response.
|
|
332
389
|
*/
|
|
333
390
|
private authorizeRequest;
|
|
391
|
+
private authorizeScopeGrant;
|
|
392
|
+
private authorizeDownloadRequest;
|
|
393
|
+
private isExpiredDownloadAuthorizationToken;
|
|
394
|
+
private purgeExpiredDownloadAuthorizationTokens;
|
|
395
|
+
private pushDownloadAuthorizationExpiry;
|
|
396
|
+
private popDownloadAuthorizationExpiry;
|
|
397
|
+
private authorizeDownloadResponseOverrides;
|
|
398
|
+
private downloadAuthorizationFromRequest;
|
|
399
|
+
private requestHasCapability;
|
|
400
|
+
private requireFileLockEnabled;
|
|
401
|
+
private requireGovernanceBypass;
|
|
402
|
+
private validateReplicationApplicationKey;
|
|
403
|
+
private invalidReplicationApplicationKey;
|
|
404
|
+
private invalidReplicationDestinationBucket;
|
|
405
|
+
private validateReplicationDestinationBuckets;
|
|
406
|
+
private validateReplicationApplicationKeys;
|
|
334
407
|
private requestScope;
|
|
408
|
+
private createBucketScope;
|
|
409
|
+
private updateBucketScope;
|
|
335
410
|
private listBucketsScope;
|
|
336
411
|
private fileVersionScope;
|
|
337
412
|
private copyFileScope;
|
|
@@ -345,19 +420,24 @@ export declare class B2Simulator {
|
|
|
345
420
|
private uploadUrlMatches;
|
|
346
421
|
private allowedBuckets;
|
|
347
422
|
/**
|
|
348
|
-
*
|
|
423
|
+
* Resolve the application key matching the `Authorization` header on
|
|
349
424
|
* an `authorize_account` request. The header is in the form
|
|
350
425
|
* `Basic base64(applicationKeyId:applicationKey)`.
|
|
351
426
|
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* `
|
|
427
|
+
* The simulator has two implicit full-access storage credentials:
|
|
428
|
+
* the documented `test-key-id:test-key` pair used by SDK tests and
|
|
429
|
+
* `master-key-id:master-key`. In default permissive mode, any other
|
|
430
|
+
* well-formed Basic credential whose applicationKeyId is not a stored
|
|
431
|
+
* key also receives that implicit master grant for backward
|
|
432
|
+
* compatibility. A credential whose applicationKeyId matches a stored
|
|
433
|
+
* key must use the stored secret and must not be expired.
|
|
355
434
|
*
|
|
356
435
|
* @param authzHeader - Raw HTTP `Authorization` header value.
|
|
357
436
|
*
|
|
358
|
-
* @returns The
|
|
437
|
+
* @returns The authorizing key's grant scope or the rejection reason.
|
|
359
438
|
*/
|
|
360
|
-
private
|
|
439
|
+
private findAuthorizationGrant;
|
|
440
|
+
private canAuthorizePartner;
|
|
361
441
|
/**
|
|
362
442
|
* Creates an {@link HttpTransport} that routes requests to this simulator.
|
|
363
443
|
* @returns A transport instance backed by this in-memory simulator.
|
|
@@ -417,7 +497,7 @@ export declare class B2Simulator {
|
|
|
417
497
|
consumeMatchingFault(url: string): FaultSpec | null;
|
|
418
498
|
/**
|
|
419
499
|
* Dispatches a JSON API request to the appropriate handler.
|
|
420
|
-
* @param
|
|
500
|
+
* @param method - The HTTP method.
|
|
421
501
|
* @param origin - The request URL origin used for simulator-issued endpoints.
|
|
422
502
|
* @param path - The request URL path containing the B2 endpoint name.
|
|
423
503
|
* @param headers - The HTTP request headers; consulted by the
|
|
@@ -426,7 +506,7 @@ export declare class B2Simulator {
|
|
|
426
506
|
*
|
|
427
507
|
* @returns An object with HTTP status and JSON response body.
|
|
428
508
|
*/
|
|
429
|
-
handleRequest(
|
|
509
|
+
handleRequest(method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
|
|
430
510
|
/**
|
|
431
511
|
* Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
|
|
432
512
|
* Dispatches to the appropriate internal handler based on the URL.
|
|
@@ -437,6 +517,8 @@ export declare class B2Simulator {
|
|
|
437
517
|
* @returns A promise resolving to an object with HTTP status and JSON response body.
|
|
438
518
|
*/
|
|
439
519
|
handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
|
|
520
|
+
private validateContentLength;
|
|
521
|
+
private parseCustomUploadTimestamp;
|
|
440
522
|
/**
|
|
441
523
|
* Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
|
|
442
524
|
* Returns the file data along with B2 response headers.
|
|
@@ -483,14 +565,24 @@ export declare class B2Simulator {
|
|
|
483
565
|
* @returns The SHA-1 string to store, or an error response on mismatch.
|
|
484
566
|
*/
|
|
485
567
|
private resolveUploadSha1;
|
|
568
|
+
private validateUploadPartEncryption;
|
|
486
569
|
private handleUploadPart;
|
|
570
|
+
private parsePartNumberHeader;
|
|
571
|
+
private validatePartNumber;
|
|
487
572
|
private downloadById;
|
|
488
573
|
private downloadByName;
|
|
574
|
+
private validateDownloadEncryption;
|
|
575
|
+
private validateSourceServerSideEncryption;
|
|
576
|
+
private resolveCopyDestinationEncryption;
|
|
577
|
+
private validateCopyPartDestinationEncryption;
|
|
489
578
|
private serveFile;
|
|
579
|
+
private addDownloadEncryptionHeaders;
|
|
580
|
+
private addDownloadObjectLockHeaders;
|
|
490
581
|
private authorize;
|
|
491
582
|
private createBucket;
|
|
492
583
|
private listBuckets;
|
|
493
584
|
private deleteBucket;
|
|
585
|
+
private bucketHasContents;
|
|
494
586
|
private updateBucket;
|
|
495
587
|
private getUploadUrl;
|
|
496
588
|
private listFileNames;
|
|
@@ -507,6 +599,8 @@ export declare class B2Simulator {
|
|
|
507
599
|
private listParts;
|
|
508
600
|
private copyPart;
|
|
509
601
|
private getDownloadAuthorization;
|
|
602
|
+
private createKeyCapabilitiesOutsideGrant;
|
|
603
|
+
private createKeyCreatorAccountId;
|
|
510
604
|
private createKey;
|
|
511
605
|
private listKeys;
|
|
512
606
|
private deleteKey;
|
|
@@ -531,6 +625,10 @@ export declare class B2Simulator {
|
|
|
531
625
|
*/
|
|
532
626
|
private findFile;
|
|
533
627
|
private makeFileVersion;
|
|
628
|
+
private newReplicationStatusField;
|
|
629
|
+
private replicationStatusMetadataFor;
|
|
630
|
+
private replicationStatusForNewFile;
|
|
631
|
+
private matchingEnabledReplicationRules;
|
|
534
632
|
private error;
|
|
535
633
|
/**
|
|
536
634
|
* Fire the pluggable post-upload hooks for a file that just landed in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA6B,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
|