@textrp/briij-js-sdk 41.0.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 +6464 -0
- package/LICENSE +177 -0
- package/README.md +477 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
- package/lib/@types/IIdentityServerProvider.d.ts +9 -0
- package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
- package/lib/@types/IIdentityServerProvider.js +1 -0
- package/lib/@types/IIdentityServerProvider.js.map +1 -0
- package/lib/@types/PushRules.d.ts +140 -0
- package/lib/@types/PushRules.d.ts.map +1 -0
- package/lib/@types/PushRules.js +94 -0
- package/lib/@types/PushRules.js.map +1 -0
- package/lib/@types/another-json.d.js +0 -0
- package/lib/@types/another-json.d.js.map +1 -0
- package/lib/@types/auth.d.ts +213 -0
- package/lib/@types/auth.d.ts.map +1 -0
- package/lib/@types/auth.js +107 -0
- package/lib/@types/auth.js.map +1 -0
- package/lib/@types/beacon.d.ts +106 -0
- package/lib/@types/beacon.d.ts.map +1 -0
- package/lib/@types/beacon.js +119 -0
- package/lib/@types/beacon.js.map +1 -0
- package/lib/@types/common.d.ts +10 -0
- package/lib/@types/common.d.ts.map +1 -0
- package/lib/@types/common.js +1 -0
- package/lib/@types/common.js.map +1 -0
- package/lib/@types/crypto.d.ts +46 -0
- package/lib/@types/crypto.d.ts.map +1 -0
- package/lib/@types/crypto.js +1 -0
- package/lib/@types/crypto.js.map +1 -0
- package/lib/@types/event.d.ts +356 -0
- package/lib/@types/event.d.ts.map +1 -0
- package/lib/@types/event.js +280 -0
- package/lib/@types/event.js.map +1 -0
- package/lib/@types/events.d.ts +92 -0
- package/lib/@types/events.d.ts.map +1 -0
- package/lib/@types/events.js +1 -0
- package/lib/@types/events.js.map +1 -0
- package/lib/@types/extensible_events.d.ts +98 -0
- package/lib/@types/extensible_events.d.ts.map +1 -0
- package/lib/@types/extensible_events.js +116 -0
- package/lib/@types/extensible_events.js.map +1 -0
- package/lib/@types/global.d.js +18 -0
- package/lib/@types/global.d.js.map +1 -0
- package/lib/@types/local_notifications.d.ts +4 -0
- package/lib/@types/local_notifications.d.ts.map +1 -0
- package/lib/@types/local_notifications.js +1 -0
- package/lib/@types/local_notifications.js.map +1 -0
- package/lib/@types/location.d.ts +60 -0
- package/lib/@types/location.d.ts.map +1 -0
- package/lib/@types/location.js +66 -0
- package/lib/@types/location.js.map +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
- package/lib/@types/media.d.ts +220 -0
- package/lib/@types/media.d.ts.map +1 -0
- package/lib/@types/media.js +1 -0
- package/lib/@types/media.js.map +1 -0
- package/lib/@types/membership.d.ts +41 -0
- package/lib/@types/membership.d.ts.map +1 -0
- package/lib/@types/membership.js +58 -0
- package/lib/@types/membership.js.map +1 -0
- package/lib/@types/partials.d.ts +72 -0
- package/lib/@types/partials.d.ts.map +1 -0
- package/lib/@types/partials.js +71 -0
- package/lib/@types/partials.js.map +1 -0
- package/lib/@types/polls.d.ts +89 -0
- package/lib/@types/polls.d.ts.map +1 -0
- package/lib/@types/polls.js +86 -0
- package/lib/@types/polls.js.map +1 -0
- package/lib/@types/read_receipts.d.ts +36 -0
- package/lib/@types/read_receipts.d.ts.map +1 -0
- package/lib/@types/read_receipts.js +27 -0
- package/lib/@types/read_receipts.js.map +1 -0
- package/lib/@types/registration.d.ts +85 -0
- package/lib/@types/registration.d.ts.map +1 -0
- package/lib/@types/registration.js +1 -0
- package/lib/@types/registration.js.map +1 -0
- package/lib/@types/requests.d.ts +267 -0
- package/lib/@types/requests.d.ts.map +1 -0
- package/lib/@types/requests.js +42 -0
- package/lib/@types/requests.js.map +1 -0
- package/lib/@types/search.d.ts +90 -0
- package/lib/@types/search.d.ts.map +1 -0
- package/lib/@types/search.js +30 -0
- package/lib/@types/search.js.map +1 -0
- package/lib/@types/signed.d.ts +9 -0
- package/lib/@types/signed.d.ts.map +1 -0
- package/lib/@types/signed.js +1 -0
- package/lib/@types/signed.js.map +1 -0
- package/lib/@types/spaces.d.ts +16 -0
- package/lib/@types/spaces.d.ts.map +1 -0
- package/lib/@types/spaces.js +1 -0
- package/lib/@types/spaces.js.map +1 -0
- package/lib/@types/state_events.d.ts +121 -0
- package/lib/@types/state_events.d.ts.map +1 -0
- package/lib/@types/state_events.js +1 -0
- package/lib/@types/state_events.js.map +1 -0
- package/lib/@types/synapse.d.ts +19 -0
- package/lib/@types/synapse.d.ts.map +1 -0
- package/lib/@types/synapse.js +1 -0
- package/lib/@types/synapse.js.map +1 -0
- package/lib/@types/sync.d.ts +8 -0
- package/lib/@types/sync.d.ts.map +1 -0
- package/lib/@types/sync.js +25 -0
- package/lib/@types/sync.js.map +1 -0
- package/lib/@types/threepids.d.ts +12 -0
- package/lib/@types/threepids.d.ts.map +1 -0
- package/lib/@types/threepids.js +24 -0
- package/lib/@types/threepids.js.map +1 -0
- package/lib/@types/topic.d.ts +55 -0
- package/lib/@types/topic.d.ts.map +1 -0
- package/lib/@types/topic.js +62 -0
- package/lib/@types/topic.js.map +1 -0
- package/lib/@types/uia.d.ts +8 -0
- package/lib/@types/uia.d.ts.map +1 -0
- package/lib/@types/uia.js +1 -0
- package/lib/@types/uia.js.map +1 -0
- package/lib/NamespacedValue.d.ts +32 -0
- package/lib/NamespacedValue.d.ts.map +1 -0
- package/lib/NamespacedValue.js +113 -0
- package/lib/NamespacedValue.js.map +1 -0
- package/lib/ReEmitter.d.ts +15 -0
- package/lib/ReEmitter.d.ts.map +1 -0
- package/lib/ReEmitter.js +87 -0
- package/lib/ReEmitter.js.map +1 -0
- package/lib/ToDeviceMessageQueue.d.ts +30 -0
- package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
- package/lib/ToDeviceMessageQueue.js +135 -0
- package/lib/ToDeviceMessageQueue.js.map +1 -0
- package/lib/autodiscovery.d.ts +136 -0
- package/lib/autodiscovery.d.ts.map +1 -0
- package/lib/autodiscovery.js +464 -0
- package/lib/autodiscovery.js.map +1 -0
- package/lib/base64.d.ts +25 -0
- package/lib/base64.d.ts.map +1 -0
- package/lib/base64.js +95 -0
- package/lib/base64.js.map +1 -0
- package/lib/briij.d.ts +116 -0
- package/lib/briij.d.ts.map +1 -0
- package/lib/briij.js +145 -0
- package/lib/briij.js.map +1 -0
- package/lib/browser-index.d.ts +8 -0
- package/lib/browser-index.d.ts.map +1 -0
- package/lib/browser-index.js +35 -0
- package/lib/browser-index.js.map +1 -0
- package/lib/client.d.ts +3493 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +7482 -0
- package/lib/client.js.map +1 -0
- package/lib/common-crypto/CryptoBackend.d.ts +234 -0
- package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
- package/lib/common-crypto/CryptoBackend.js +69 -0
- package/lib/common-crypto/CryptoBackend.js.map +1 -0
- package/lib/common-crypto/key-passphrase.d.ts +14 -0
- package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
- package/lib/common-crypto/key-passphrase.js +33 -0
- package/lib/common-crypto/key-passphrase.js.map +1 -0
- package/lib/content-helpers.d.ts +90 -0
- package/lib/content-helpers.d.ts.map +1 -0
- package/lib/content-helpers.js +262 -0
- package/lib/content-helpers.js.map +1 -0
- package/lib/content-repo.d.ts +25 -0
- package/lib/content-repo.d.ts.map +1 -0
- package/lib/content-repo.js +109 -0
- package/lib/content-repo.js.map +1 -0
- package/lib/crypto/store/base.d.ts +301 -0
- package/lib/crypto/store/base.d.ts.map +1 -0
- package/lib/crypto/store/base.js +145 -0
- package/lib/crypto/store/base.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +94 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +604 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +251 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.js +477 -0
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts +102 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.js +374 -0
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
- package/lib/crypto/store/memory-crypto-store.d.ts +117 -0
- package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/memory-crypto-store.js +311 -0
- package/lib/crypto/store/memory-crypto-store.js.map +1 -0
- package/lib/crypto-api/CryptoEvent.d.ts +120 -0
- package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEvent.js +137 -0
- package/lib/crypto-api/CryptoEvent.js.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +26 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
- package/lib/crypto-api/index.d.ts +1160 -0
- package/lib/crypto-api/index.d.ts.map +1 -0
- package/lib/crypto-api/index.js +410 -0
- package/lib/crypto-api/index.js.map +1 -0
- package/lib/crypto-api/key-passphrase.d.ts +11 -0
- package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
- package/lib/crypto-api/key-passphrase.js +51 -0
- package/lib/crypto-api/key-passphrase.js.map +1 -0
- package/lib/crypto-api/keybackup.d.ts +87 -0
- package/lib/crypto-api/keybackup.d.ts.map +1 -0
- package/lib/crypto-api/keybackup.js +1 -0
- package/lib/crypto-api/keybackup.js.map +1 -0
- package/lib/crypto-api/recovery-key.d.ts +11 -0
- package/lib/crypto-api/recovery-key.d.ts.map +1 -0
- package/lib/crypto-api/recovery-key.js +65 -0
- package/lib/crypto-api/recovery-key.js.map +1 -0
- package/lib/crypto-api/verification.d.ts +315 -0
- package/lib/crypto-api/verification.d.ts.map +1 -0
- package/lib/crypto-api/verification.js +130 -0
- package/lib/crypto-api/verification.js.map +1 -0
- package/lib/digest.d.ts +10 -0
- package/lib/digest.d.ts.map +1 -0
- package/lib/digest.js +40 -0
- package/lib/digest.js.map +1 -0
- package/lib/embedded.d.ts +182 -0
- package/lib/embedded.d.ts.map +1 -0
- package/lib/embedded.js +746 -0
- package/lib/embedded.js.map +1 -0
- package/lib/errors.d.ts +38 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +73 -0
- package/lib/errors.js.map +1 -0
- package/lib/event-mapper.d.ts +9 -0
- package/lib/event-mapper.d.ts.map +1 -0
- package/lib/event-mapper.js +74 -0
- package/lib/event-mapper.js.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.js +25 -0
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts +44 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.js +134 -0
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.js +88 -0
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.js +185 -0
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
- package/lib/extensible_events_v1/utilities.d.ts +14 -0
- package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
- package/lib/extensible_events_v1/utilities.js +34 -0
- package/lib/extensible_events_v1/utilities.js.map +1 -0
- package/lib/feature.d.ts +20 -0
- package/lib/feature.d.ts.map +1 -0
- package/lib/feature.js +89 -0
- package/lib/feature.js.map +1 -0
- package/lib/filter-component.d.ts +64 -0
- package/lib/filter-component.d.ts.map +1 -0
- package/lib/filter-component.js +170 -0
- package/lib/filter-component.js.map +1 -0
- package/lib/filter.d.ts +97 -0
- package/lib/filter.d.ts.map +1 -0
- package/lib/filter.js +207 -0
- package/lib/filter.js.map +1 -0
- package/lib/http-api/errors.d.ts +117 -0
- package/lib/http-api/errors.d.ts.map +1 -0
- package/lib/http-api/errors.js +245 -0
- package/lib/http-api/errors.js.map +1 -0
- package/lib/http-api/fetch.d.ts +80 -0
- package/lib/http-api/fetch.d.ts.map +1 -0
- package/lib/http-api/fetch.js +332 -0
- package/lib/http-api/fetch.js.map +1 -0
- package/lib/http-api/index.d.ts +33 -0
- package/lib/http-api/index.d.ts.map +1 -0
- package/lib/http-api/index.js +178 -0
- package/lib/http-api/index.js.map +1 -0
- package/lib/http-api/interface.d.ts +186 -0
- package/lib/http-api/interface.d.ts.map +1 -0
- package/lib/http-api/interface.js +39 -0
- package/lib/http-api/interface.js.map +1 -0
- package/lib/http-api/method.d.ts +10 -0
- package/lib/http-api/method.d.ts.map +1 -0
- package/lib/http-api/method.js +27 -0
- package/lib/http-api/method.js.map +1 -0
- package/lib/http-api/prefix.d.ts +31 -0
- package/lib/http-api/prefix.d.ts.map +1 -0
- package/lib/http-api/prefix.js +50 -0
- package/lib/http-api/prefix.js.map +1 -0
- package/lib/http-api/refresh.d.ts +53 -0
- package/lib/http-api/refresh.d.ts.map +1 -0
- package/lib/http-api/refresh.js +174 -0
- package/lib/http-api/refresh.js.map +1 -0
- package/lib/http-api/utils.d.ts +37 -0
- package/lib/http-api/utils.d.ts.map +1 -0
- package/lib/http-api/utils.js +182 -0
- package/lib/http-api/utils.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/lib/indexeddb-helpers.d.ts +10 -0
- package/lib/indexeddb-helpers.d.ts.map +1 -0
- package/lib/indexeddb-helpers.js +51 -0
- package/lib/indexeddb-helpers.js.map +1 -0
- package/lib/indexeddb-worker.d.ts +7 -0
- package/lib/indexeddb-worker.d.ts.map +1 -0
- package/lib/indexeddb-worker.js +25 -0
- package/lib/indexeddb-worker.js.map +1 -0
- package/lib/interactive-auth.d.ts +341 -0
- package/lib/interactive-auth.d.ts.map +1 -0
- package/lib/interactive-auth.js +563 -0
- package/lib/interactive-auth.js.map +1 -0
- package/lib/logger.d.ts +124 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +230 -0
- package/lib/logger.js.map +1 -0
- package/lib/matrixrtc/CallMembership.d.ts +154 -0
- package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
- package/lib/matrixrtc/CallMembership.js +469 -0
- package/lib/matrixrtc/CallMembership.js.map +1 -0
- package/lib/matrixrtc/EncryptionManager.d.ts +44 -0
- package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -0
- package/lib/matrixrtc/EncryptionManager.js +13 -0
- package/lib/matrixrtc/EncryptionManager.js.map +1 -0
- package/lib/matrixrtc/IKeyTransport.d.ts +37 -0
- package/lib/matrixrtc/IKeyTransport.d.ts.map +1 -0
- package/lib/matrixrtc/IKeyTransport.js +27 -0
- package/lib/matrixrtc/IKeyTransport.js.map +1 -0
- package/lib/matrixrtc/IMembershipManager.d.ts +94 -0
- package/lib/matrixrtc/IMembershipManager.d.ts.map +1 -0
- package/lib/matrixrtc/IMembershipManager.js +40 -0
- package/lib/matrixrtc/IMembershipManager.js.map +1 -0
- package/lib/matrixrtc/LivekitTransport.d.ts +23 -0
- package/lib/matrixrtc/LivekitTransport.d.ts.map +1 -0
- package/lib/matrixrtc/LivekitTransport.js +29 -0
- package/lib/matrixrtc/LivekitTransport.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts +343 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.js +623 -0
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +46 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js +149 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
- package/lib/matrixrtc/MembershipManager.d.ts +210 -0
- package/lib/matrixrtc/MembershipManager.d.ts.map +1 -0
- package/lib/matrixrtc/MembershipManager.js +977 -0
- package/lib/matrixrtc/MembershipManager.js.map +1 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts +59 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.js +125 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -0
- package/lib/matrixrtc/RTCEncryptionManager.d.ts +110 -0
- package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -0
- package/lib/matrixrtc/RTCEncryptionManager.js +376 -0
- package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.d.ts +30 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.js +164 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -0
- package/lib/matrixrtc/index.d.ts +9 -0
- package/lib/matrixrtc/index.d.ts.map +1 -0
- package/lib/matrixrtc/index.js +23 -0
- package/lib/matrixrtc/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/common.d.ts +8 -0
- package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/common.js +26 -0
- package/lib/matrixrtc/membershipData/common.js.map +1 -0
- package/lib/matrixrtc/membershipData/index.d.ts +4 -0
- package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/index.js +20 -0
- package/lib/matrixrtc/membershipData/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.js +137 -0
- package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
- package/lib/matrixrtc/membershipData/session.d.ts +77 -0
- package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/session.js +62 -0
- package/lib/matrixrtc/membershipData/session.js.map +1 -0
- package/lib/matrixrtc/types.d.ts +169 -0
- package/lib/matrixrtc/types.d.ts.map +1 -0
- package/lib/matrixrtc/types.js +117 -0
- package/lib/matrixrtc/types.js.map +1 -0
- package/lib/matrixrtc/utils.d.ts +27 -0
- package/lib/matrixrtc/utils.d.ts.map +1 -0
- package/lib/matrixrtc/utils.js +72 -0
- package/lib/matrixrtc/utils.js.map +1 -0
- package/lib/models/MSC3089Branch.d.ts +98 -0
- package/lib/models/MSC3089Branch.d.ts.map +1 -0
- package/lib/models/MSC3089Branch.js +240 -0
- package/lib/models/MSC3089Branch.js.map +1 -0
- package/lib/models/MSC3089TreeSpace.d.ts +166 -0
- package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
- package/lib/models/MSC3089TreeSpace.js +521 -0
- package/lib/models/MSC3089TreeSpace.js.map +1 -0
- package/lib/models/ToDeviceMessage.d.ts +17 -0
- package/lib/models/ToDeviceMessage.d.ts.map +1 -0
- package/lib/models/ToDeviceMessage.js +1 -0
- package/lib/models/ToDeviceMessage.js.map +1 -0
- package/lib/models/beacon.d.ts +52 -0
- package/lib/models/beacon.d.ts.map +1 -0
- package/lib/models/beacon.js +174 -0
- package/lib/models/beacon.js.map +1 -0
- package/lib/models/compare-event-ordering.d.ts +24 -0
- package/lib/models/compare-event-ordering.d.ts.map +1 -0
- package/lib/models/compare-event-ordering.js +120 -0
- package/lib/models/compare-event-ordering.js.map +1 -0
- package/lib/models/device.d.ts +45 -0
- package/lib/models/device.d.ts.map +1 -0
- package/lib/models/device.js +77 -0
- package/lib/models/device.js.map +1 -0
- package/lib/models/event-context.d.ts +62 -0
- package/lib/models/event-context.d.ts.map +1 -0
- package/lib/models/event-context.js +113 -0
- package/lib/models/event-context.js.map +1 -0
- package/lib/models/event-status.d.ts +19 -0
- package/lib/models/event-status.d.ts.map +1 -0
- package/lib/models/event-status.js +36 -0
- package/lib/models/event-status.js.map +1 -0
- package/lib/models/event-timeline-set.d.ts +308 -0
- package/lib/models/event-timeline-set.d.ts.map +1 -0
- package/lib/models/event-timeline-set.js +805 -0
- package/lib/models/event-timeline-set.js.map +1 -0
- package/lib/models/event-timeline.d.ts +224 -0
- package/lib/models/event-timeline.d.ts.map +1 -0
- package/lib/models/event-timeline.js +434 -0
- package/lib/models/event-timeline.js.map +1 -0
- package/lib/models/event.d.ts +844 -0
- package/lib/models/event.d.ts.map +1 -0
- package/lib/models/event.js +1600 -0
- package/lib/models/event.js.map +1 -0
- package/lib/models/invites-ignorer-types.d.ts +27 -0
- package/lib/models/invites-ignorer-types.d.ts.map +1 -0
- package/lib/models/invites-ignorer-types.js +56 -0
- package/lib/models/invites-ignorer-types.js.map +1 -0
- package/lib/models/invites-ignorer.d.ts +112 -0
- package/lib/models/invites-ignorer.d.ts.map +1 -0
- package/lib/models/invites-ignorer.js +357 -0
- package/lib/models/invites-ignorer.js.map +1 -0
- package/lib/models/poll.d.ts +67 -0
- package/lib/models/poll.d.ts.map +1 -0
- package/lib/models/poll.js +241 -0
- package/lib/models/poll.js.map +1 -0
- package/lib/models/profile-keys.d.ts +17 -0
- package/lib/models/profile-keys.d.ts.map +1 -0
- package/lib/models/profile-keys.js +34 -0
- package/lib/models/profile-keys.js.map +1 -0
- package/lib/models/read-receipt.d.ts +115 -0
- package/lib/models/read-receipt.d.ts.map +1 -0
- package/lib/models/read-receipt.js +366 -0
- package/lib/models/read-receipt.js.map +1 -0
- package/lib/models/related-relations.d.ts +11 -0
- package/lib/models/related-relations.d.ts.map +1 -0
- package/lib/models/related-relations.js +33 -0
- package/lib/models/related-relations.js.map +1 -0
- package/lib/models/relations-container.d.ts +44 -0
- package/lib/models/relations-container.d.ts.map +1 -0
- package/lib/models/relations-container.js +132 -0
- package/lib/models/relations-container.js.map +1 -0
- package/lib/models/relations.d.ts +123 -0
- package/lib/models/relations.d.ts.map +1 -0
- package/lib/models/relations.js +378 -0
- package/lib/models/relations.js.map +1 -0
- package/lib/models/room-member.d.ts +221 -0
- package/lib/models/room-member.d.ts.map +1 -0
- package/lib/models/room-member.js +376 -0
- package/lib/models/room-member.js.map +1 -0
- package/lib/models/room-receipts.d.ts +39 -0
- package/lib/models/room-receipts.d.ts.map +1 -0
- package/lib/models/room-receipts.js +392 -0
- package/lib/models/room-receipts.js.map +1 -0
- package/lib/models/room-state.d.ts +463 -0
- package/lib/models/room-state.d.ts.map +1 -0
- package/lib/models/room-state.js +1066 -0
- package/lib/models/room-state.js.map +1 -0
- package/lib/models/room-sticky-events.d.ts +110 -0
- package/lib/models/room-sticky-events.d.ts.map +1 -0
- package/lib/models/room-sticky-events.js +353 -0
- package/lib/models/room-sticky-events.js.map +1 -0
- package/lib/models/room-summary.d.ts +59 -0
- package/lib/models/room-summary.d.ts.map +1 -0
- package/lib/models/room-summary.js +39 -0
- package/lib/models/room-summary.js.map +1 -0
- package/lib/models/room.d.ts +1285 -0
- package/lib/models/room.d.ts.map +1 -0
- package/lib/models/room.js +3548 -0
- package/lib/models/room.js.map +1 -0
- package/lib/models/search-result.d.ts +20 -0
- package/lib/models/search-result.d.ts.map +1 -0
- package/lib/models/search-result.js +52 -0
- package/lib/models/search-result.js.map +1 -0
- package/lib/models/thread.d.ts +245 -0
- package/lib/models/thread.d.ts.map +1 -0
- package/lib/models/thread.js +866 -0
- package/lib/models/thread.js.map +1 -0
- package/lib/models/typed-event-emitter.d.ts +157 -0
- package/lib/models/typed-event-emitter.d.ts.map +1 -0
- package/lib/models/typed-event-emitter.js +227 -0
- package/lib/models/typed-event-emitter.js.map +1 -0
- package/lib/models/user.d.ts +195 -0
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +218 -0
- package/lib/models/user.js.map +1 -0
- package/lib/oidc/authorize.d.ts +93 -0
- package/lib/oidc/authorize.d.ts.map +1 -0
- package/lib/oidc/authorize.js +282 -0
- package/lib/oidc/authorize.js.map +1 -0
- package/lib/oidc/discovery.d.ts +22 -0
- package/lib/oidc/discovery.d.ts.map +1 -0
- package/lib/oidc/discovery.js +78 -0
- package/lib/oidc/discovery.js.map +1 -0
- package/lib/oidc/error.d.ts +18 -0
- package/lib/oidc/error.d.ts.map +1 -0
- package/lib/oidc/error.js +35 -0
- package/lib/oidc/error.js.map +1 -0
- package/lib/oidc/index.d.ts +16 -0
- package/lib/oidc/index.d.ts.map +1 -0
- package/lib/oidc/index.js +29 -0
- package/lib/oidc/index.js.map +1 -0
- package/lib/oidc/register.d.ts +70 -0
- package/lib/oidc/register.d.ts.map +1 -0
- package/lib/oidc/register.js +135 -0
- package/lib/oidc/register.js.map +1 -0
- package/lib/oidc/tokenRefresher.d.ts +91 -0
- package/lib/oidc/tokenRefresher.d.ts.map +1 -0
- package/lib/oidc/tokenRefresher.js +187 -0
- package/lib/oidc/tokenRefresher.js.map +1 -0
- package/lib/oidc/validate.d.ts +78 -0
- package/lib/oidc/validate.d.ts.map +1 -0
- package/lib/oidc/validate.js +181 -0
- package/lib/oidc/validate.js.map +1 -0
- package/lib/pushprocessor.d.ts +140 -0
- package/lib/pushprocessor.d.ts.map +1 -0
- package/lib/pushprocessor.js +702 -0
- package/lib/pushprocessor.js.map +1 -0
- package/lib/randomstring.d.ts +32 -0
- package/lib/randomstring.d.ts.map +1 -0
- package/lib/randomstring.js +97 -0
- package/lib/randomstring.js.map +1 -0
- package/lib/realtime-callbacks.d.ts +18 -0
- package/lib/realtime-callbacks.d.ts.map +1 -0
- package/lib/realtime-callbacks.js +177 -0
- package/lib/realtime-callbacks.js.map +1 -0
- package/lib/receipt-accumulator.d.ts +51 -0
- package/lib/receipt-accumulator.d.ts.map +1 -0
- package/lib/receipt-accumulator.js +164 -0
- package/lib/receipt-accumulator.js.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js +389 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
- package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
- package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousChannel.js +1 -0
- package/lib/rendezvous/RendezvousChannel.js.map +1 -0
- package/lib/rendezvous/RendezvousCode.d.ts +9 -0
- package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousCode.js +1 -0
- package/lib/rendezvous/RendezvousCode.js.map +1 -0
- package/lib/rendezvous/RendezvousError.d.ts +6 -0
- package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousError.js +23 -0
- package/lib/rendezvous/RendezvousError.js.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.js +47 -0
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
- package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
- package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousIntent.js +22 -0
- package/lib/rendezvous/RendezvousIntent.js.map +1 -0
- package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
- package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousTransport.js +1 -0
- package/lib/rendezvous/RendezvousTransport.js.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
- package/lib/rendezvous/channels/index.d.ts +2 -0
- package/lib/rendezvous/channels/index.d.ts.map +1 -0
- package/lib/rendezvous/channels/index.js +18 -0
- package/lib/rendezvous/channels/index.js.map +1 -0
- package/lib/rendezvous/index.d.ts +10 -0
- package/lib/rendezvous/index.d.ts.map +1 -0
- package/lib/rendezvous/index.js +23 -0
- package/lib/rendezvous/index.js.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +254 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
- package/lib/rendezvous/transports/index.d.ts +2 -0
- package/lib/rendezvous/transports/index.d.ts.map +1 -0
- package/lib/rendezvous/transports/index.js +18 -0
- package/lib/rendezvous/transports/index.js.map +1 -0
- package/lib/room-hierarchy.d.ts +35 -0
- package/lib/room-hierarchy.d.ts.map +1 -0
- package/lib/room-hierarchy.js +136 -0
- package/lib/room-hierarchy.js.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +35 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.js +163 -0
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +118 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js +361 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.js +82 -0
- package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +36 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js +194 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js +175 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +469 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts +100 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.js +308 -0
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
- package/lib/rust-crypto/backup.d.ts +278 -0
- package/lib/rust-crypto/backup.d.ts.map +1 -0
- package/lib/rust-crypto/backup.js +898 -0
- package/lib/rust-crypto/backup.js.map +1 -0
- package/lib/rust-crypto/constants.d.ts +3 -0
- package/lib/rust-crypto/constants.d.ts.map +1 -0
- package/lib/rust-crypto/constants.js +19 -0
- package/lib/rust-crypto/constants.js.map +1 -0
- package/lib/rust-crypto/device-converter.d.ts +28 -0
- package/lib/rust-crypto/device-converter.d.ts.map +1 -0
- package/lib/rust-crypto/device-converter.js +123 -0
- package/lib/rust-crypto/device-converter.js.map +1 -0
- package/lib/rust-crypto/index.d.ts +65 -0
- package/lib/rust-crypto/index.d.ts.map +1 -0
- package/lib/rust-crypto/index.js +149 -0
- package/lib/rust-crypto/index.js.map +1 -0
- package/lib/rust-crypto/libolm_migration.d.ts +81 -0
- package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
- package/lib/rust-crypto/libolm_migration.js +456 -0
- package/lib/rust-crypto/libolm_migration.js.map +1 -0
- package/lib/rust-crypto/rust-crypto.d.ts +576 -0
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
- package/lib/rust-crypto/rust-crypto.js +2324 -0
- package/lib/rust-crypto/rust-crypto.js.map +1 -0
- package/lib/rust-crypto/secret-storage.d.ts +22 -0
- package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
- package/lib/rust-crypto/secret-storage.js +63 -0
- package/lib/rust-crypto/secret-storage.js.map +1 -0
- package/lib/rust-crypto/verification.d.ts +321 -0
- package/lib/rust-crypto/verification.d.ts.map +1 -0
- package/lib/rust-crypto/verification.js +817 -0
- package/lib/rust-crypto/verification.js.map +1 -0
- package/lib/scheduler.d.ts +132 -0
- package/lib/scheduler.d.ts.map +1 -0
- package/lib/scheduler.js +259 -0
- package/lib/scheduler.js.map +1 -0
- package/lib/secret-storage.d.ts +383 -0
- package/lib/secret-storage.d.ts.map +1 -0
- package/lib/secret-storage.js +487 -0
- package/lib/secret-storage.js.map +1 -0
- package/lib/serverCapabilities.d.ts +78 -0
- package/lib/serverCapabilities.d.ts.map +1 -0
- package/lib/serverCapabilities.js +104 -0
- package/lib/serverCapabilities.js.map +1 -0
- package/lib/service-types.d.ts +5 -0
- package/lib/service-types.d.ts.map +1 -0
- package/lib/service-types.js +23 -0
- package/lib/service-types.js.map +1 -0
- package/lib/sliding-sync-sdk.d.ts +107 -0
- package/lib/sliding-sync-sdk.d.ts.map +1 -0
- package/lib/sliding-sync-sdk.js +892 -0
- package/lib/sliding-sync-sdk.js.map +1 -0
- package/lib/sliding-sync.d.ts +306 -0
- package/lib/sliding-sync.d.ts.map +1 -0
- package/lib/sliding-sync.js +585 -0
- package/lib/sliding-sync.js.map +1 -0
- package/lib/store/index.d.ts +201 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/store/index.js +1 -0
- package/lib/store/index.js.map +1 -0
- package/lib/store/indexeddb-backend.d.ts +24 -0
- package/lib/store/indexeddb-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-backend.js +1 -0
- package/lib/store/indexeddb-backend.js.map +1 -0
- package/lib/store/indexeddb-local-backend.d.ts +129 -0
- package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-local-backend.js +599 -0
- package/lib/store/indexeddb-local-backend.js.map +1 -0
- package/lib/store/indexeddb-remote-backend.d.ts +79 -0
- package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-remote-backend.js +209 -0
- package/lib/store/indexeddb-remote-backend.js.map +1 -0
- package/lib/store/indexeddb-store-worker.d.ts +35 -0
- package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
- package/lib/store/indexeddb-store-worker.js +146 -0
- package/lib/store/indexeddb-store-worker.js.map +1 -0
- package/lib/store/indexeddb.d.ts +142 -0
- package/lib/store/indexeddb.d.ts.map +1 -0
- package/lib/store/indexeddb.js +347 -0
- package/lib/store/indexeddb.js.map +1 -0
- package/lib/store/local-storage-events-emitter.d.ts +30 -0
- package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
- package/lib/store/local-storage-events-emitter.js +37 -0
- package/lib/store/local-storage-events-emitter.js.map +1 -0
- package/lib/store/memory.d.ts +209 -0
- package/lib/store/memory.d.ts.map +1 -0
- package/lib/store/memory.js +432 -0
- package/lib/store/memory.js.map +1 -0
- package/lib/store/stub.d.ts +161 -0
- package/lib/store/stub.d.ts.map +1 -0
- package/lib/store/stub.js +268 -0
- package/lib/store/stub.js.map +1 -0
- package/lib/sync-accumulator.d.ts +207 -0
- package/lib/sync-accumulator.d.ts.map +1 -0
- package/lib/sync-accumulator.js +588 -0
- package/lib/sync-accumulator.js.map +1 -0
- package/lib/sync.d.ts +273 -0
- package/lib/sync.d.ts.map +1 -0
- package/lib/sync.js +1764 -0
- package/lib/sync.js.map +1 -0
- package/lib/testing.d.ts +98 -0
- package/lib/testing.d.ts.map +1 -0
- package/lib/testing.js +205 -0
- package/lib/testing.js.map +1 -0
- package/lib/thread-utils.d.ts +10 -0
- package/lib/thread-utils.d.ts.map +1 -0
- package/lib/thread-utils.js +31 -0
- package/lib/thread-utils.js.map +1 -0
- package/lib/timeline-window.d.ts +168 -0
- package/lib/timeline-window.d.ts.map +1 -0
- package/lib/timeline-window.js +494 -0
- package/lib/timeline-window.js.map +1 -0
- package/lib/types.d.ts +33 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +52 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.js +50 -0
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.js +68 -0
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/internal/deriveKeys.d.ts +10 -0
- package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
- package/lib/utils/internal/deriveKeys.js +60 -0
- package/lib/utils/internal/deriveKeys.js.map +1 -0
- package/lib/utils/roomVersion.d.ts +13 -0
- package/lib/utils/roomVersion.d.ts.map +1 -0
- package/lib/utils/roomVersion.js +36 -0
- package/lib/utils/roomVersion.js.map +1 -0
- package/lib/utils.d.ts +270 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +764 -0
- package/lib/utils.js.map +1 -0
- package/lib/version-support.d.ts +19 -0
- package/lib/version-support.d.ts.map +1 -0
- package/lib/version-support.js +37 -0
- package/lib/version-support.js.map +1 -0
- package/lib/webrtc/audioContext.d.ts +15 -0
- package/lib/webrtc/audioContext.d.ts.map +1 -0
- package/lib/webrtc/audioContext.js +46 -0
- package/lib/webrtc/audioContext.js.map +1 -0
- package/lib/webrtc/call.d.ts +560 -0
- package/lib/webrtc/call.d.ts.map +1 -0
- package/lib/webrtc/call.js +2596 -0
- package/lib/webrtc/call.js.map +1 -0
- package/lib/webrtc/callEventHandler.d.ts +37 -0
- package/lib/webrtc/callEventHandler.d.ts.map +1 -0
- package/lib/webrtc/callEventHandler.js +344 -0
- package/lib/webrtc/callEventHandler.js.map +1 -0
- package/lib/webrtc/callEventTypes.d.ts +79 -0
- package/lib/webrtc/callEventTypes.d.ts.map +1 -0
- package/lib/webrtc/callEventTypes.js +13 -0
- package/lib/webrtc/callEventTypes.js.map +1 -0
- package/lib/webrtc/callFeed.d.ts +128 -0
- package/lib/webrtc/callFeed.d.ts.map +1 -0
- package/lib/webrtc/callFeed.js +289 -0
- package/lib/webrtc/callFeed.js.map +1 -0
- package/lib/webrtc/groupCall.d.ts +319 -0
- package/lib/webrtc/groupCall.d.ts.map +1 -0
- package/lib/webrtc/groupCall.js +1334 -0
- package/lib/webrtc/groupCall.js.map +1 -0
- package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
- package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
- package/lib/webrtc/groupCallEventHandler.js +178 -0
- package/lib/webrtc/groupCallEventHandler.js.map +1 -0
- package/lib/webrtc/mediaHandler.d.ts +89 -0
- package/lib/webrtc/mediaHandler.d.ts.map +1 -0
- package/lib/webrtc/mediaHandler.js +454 -0
- package/lib/webrtc/mediaHandler.js.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js +79 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
- package/lib/webrtc/stats/connectionStats.d.ts +28 -0
- package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStats.js +26 -0
- package/lib/webrtc/stats/connectionStats.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
- package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
- package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
- package/lib/webrtc/stats/groupCallStats.js +78 -0
- package/lib/webrtc/stats/groupCallStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js +58 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
- package/lib/webrtc/stats/statsReport.d.ts +99 -0
- package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReport.js +32 -0
- package/lib/webrtc/stats/statsReport.js.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.js +33 -0
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/transportStats.d.ts +11 -0
- package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStats.js +1 -0
- package/lib/webrtc/stats/transportStats.js.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
- package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
- package/lib/webrtc/stats/valueFormatter.js +25 -0
- package/lib/webrtc/stats/valueFormatter.js.map +1 -0
- package/package.json +129 -0
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
- package/src/@types/IIdentityServerProvider.ts +24 -0
- package/src/@types/PushRules.ts +208 -0
- package/src/@types/another-json.d.ts +19 -0
- package/src/@types/auth.ts +258 -0
- package/src/@types/beacon.ts +140 -0
- package/src/@types/common.ts +24 -0
- package/src/@types/crypto.ts +71 -0
- package/src/@types/event.ts +449 -0
- package/src/@types/events.ts +119 -0
- package/src/@types/extensible_events.ts +147 -0
- package/src/@types/global.d.ts +67 -0
- package/src/@types/local_notifications.ts +19 -0
- package/src/@types/location.ts +92 -0
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -0
- package/src/@types/media.ts +245 -0
- package/src/@types/membership.ts +57 -0
- package/src/@types/partials.ts +103 -0
- package/src/@types/polls.ts +120 -0
- package/src/@types/read_receipts.ts +61 -0
- package/src/@types/registration.ts +102 -0
- package/src/@types/requests.ts +346 -0
- package/src/@types/search.ts +119 -0
- package/src/@types/signed.ts +25 -0
- package/src/@types/spaces.ts +37 -0
- package/src/@types/state_events.ts +153 -0
- package/src/@types/synapse.ts +40 -0
- package/src/@types/sync.ts +27 -0
- package/src/@types/threepids.ts +29 -0
- package/src/@types/topic.ts +69 -0
- package/src/@types/uia.ts +24 -0
- package/src/NamespacedValue.ts +121 -0
- package/src/ReEmitter.ts +93 -0
- package/src/ToDeviceMessageQueue.ts +156 -0
- package/src/autodiscovery.ts +505 -0
- package/src/base64.ts +86 -0
- package/src/briij.ts +173 -0
- package/src/browser-index.ts +44 -0
- package/src/client.ts +9031 -0
- package/src/common-crypto/CryptoBackend.ts +295 -0
- package/src/common-crypto/README.md +4 -0
- package/src/common-crypto/key-passphrase.ts +43 -0
- package/src/content-helpers.ts +298 -0
- package/src/content-repo.ts +122 -0
- package/src/crypto/store/base.ts +388 -0
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -0
- package/src/crypto/store/indexeddb-crypto-store.ts +555 -0
- package/src/crypto/store/localStorage-crypto-store.ts +409 -0
- package/src/crypto/store/memory-crypto-store.ts +326 -0
- package/src/crypto-api/CryptoEvent.ts +152 -0
- package/src/crypto-api/CryptoEventHandlerMap.ts +42 -0
- package/src/crypto-api/index.ts +1362 -0
- package/src/crypto-api/key-passphrase.ts +58 -0
- package/src/crypto-api/keybackup.ts +114 -0
- package/src/crypto-api/recovery-key.ts +69 -0
- package/src/crypto-api/verification.ts +382 -0
- package/src/digest.ts +34 -0
- package/src/embedded.ts +865 -0
- package/src/errors.ts +87 -0
- package/src/event-mapper.ts +88 -0
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
- package/src/extensible_events_v1/InvalidEventError.ts +24 -0
- package/src/extensible_events_v1/MessageEvent.ts +143 -0
- package/src/extensible_events_v1/PollEndEvent.ts +97 -0
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
- package/src/extensible_events_v1/PollStartEvent.ts +207 -0
- package/src/extensible_events_v1/utilities.ts +35 -0
- package/src/feature.ts +88 -0
- package/src/filter-component.ts +209 -0
- package/src/filter.ts +245 -0
- package/src/http-api/errors.ts +261 -0
- package/src/http-api/fetch.ts +377 -0
- package/src/http-api/index.ts +194 -0
- package/src/http-api/interface.ts +229 -0
- package/src/http-api/method.ts +25 -0
- package/src/http-api/prefix.ts +48 -0
- package/src/http-api/refresh.ts +167 -0
- package/src/http-api/utils.ts +217 -0
- package/src/index.ts +25 -0
- package/src/indexeddb-helpers.ts +50 -0
- package/src/indexeddb-worker.ts +24 -0
- package/src/interactive-auth.ts +700 -0
- package/src/logger.ts +279 -0
- package/src/matrixrtc/CallMembership.ts +438 -0
- package/src/matrixrtc/EncryptionManager.ts +54 -0
- package/src/matrixrtc/IKeyTransport.ts +63 -0
- package/src/matrixrtc/IMembershipManager.ts +120 -0
- package/src/matrixrtc/LivekitTransport.ts +46 -0
- package/src/matrixrtc/MatrixRTCSession.ts +934 -0
- package/src/matrixrtc/MatrixRTCSessionManager.ts +170 -0
- package/src/matrixrtc/MembershipManager.ts +1122 -0
- package/src/matrixrtc/MembershipManagerActionScheduler.ts +135 -0
- package/src/matrixrtc/RTCEncryptionManager.ts +459 -0
- package/src/matrixrtc/ToDeviceKeyTransport.ts +197 -0
- package/src/matrixrtc/index.ts +24 -0
- package/src/matrixrtc/membershipData/common.ts +27 -0
- package/src/matrixrtc/membershipData/index.ts +19 -0
- package/src/matrixrtc/membershipData/rtc.ts +156 -0
- package/src/matrixrtc/membershipData/session.ts +146 -0
- package/src/matrixrtc/types.ts +227 -0
- package/src/matrixrtc/utils.ts +71 -0
- package/src/models/MSC3089Branch.ts +272 -0
- package/src/models/MSC3089TreeSpace.ts +565 -0
- package/src/models/ToDeviceMessage.ts +38 -0
- package/src/models/beacon.ts +213 -0
- package/src/models/compare-event-ordering.ts +139 -0
- package/src/models/device.ts +85 -0
- package/src/models/event-context.ts +110 -0
- package/src/models/event-status.ts +39 -0
- package/src/models/event-timeline-set.ts +962 -0
- package/src/models/event-timeline.ts +461 -0
- package/src/models/event.ts +1819 -0
- package/src/models/invites-ignorer-types.ts +58 -0
- package/src/models/invites-ignorer.ts +341 -0
- package/src/models/poll.ts +285 -0
- package/src/models/profile-keys.ts +33 -0
- package/src/models/read-receipt.ts +422 -0
- package/src/models/related-relations.ts +39 -0
- package/src/models/relations-container.ts +149 -0
- package/src/models/relations.ts +392 -0
- package/src/models/room-member.ts +486 -0
- package/src/models/room-receipts.ts +439 -0
- package/src/models/room-state.ts +1230 -0
- package/src/models/room-sticky-events.ts +383 -0
- package/src/models/room-summary.ts +78 -0
- package/src/models/room.ts +4067 -0
- package/src/models/search-result.ts +57 -0
- package/src/models/thread.ts +928 -0
- package/src/models/typed-event-emitter.ts +246 -0
- package/src/models/user.ts +302 -0
- package/src/oidc/authorize.ts +279 -0
- package/src/oidc/discovery.ts +67 -0
- package/src/oidc/error.ts +33 -0
- package/src/oidc/index.ts +33 -0
- package/src/oidc/register.ts +163 -0
- package/src/oidc/tokenRefresher.ts +184 -0
- package/src/oidc/validate.ts +265 -0
- package/src/pushprocessor.ts +856 -0
- package/src/randomstring.ts +103 -0
- package/src/realtime-callbacks.ts +191 -0
- package/src/receipt-accumulator.ts +189 -0
- package/src/rendezvous/MSC4108SignInWithQR.ts +443 -0
- package/src/rendezvous/RendezvousChannel.ts +48 -0
- package/src/rendezvous/RendezvousCode.ts +25 -0
- package/src/rendezvous/RendezvousError.ts +26 -0
- package/src/rendezvous/RendezvousFailureReason.ts +49 -0
- package/src/rendezvous/RendezvousIntent.ts +20 -0
- package/src/rendezvous/RendezvousTransport.ts +58 -0
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
- package/src/rendezvous/channels/index.ts +17 -0
- package/src/rendezvous/index.ts +25 -0
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +272 -0
- package/src/rendezvous/transports/index.ts +17 -0
- package/src/room-hierarchy.ts +152 -0
- package/src/rust-crypto/CrossSigningIdentity.ts +195 -0
- package/src/rust-crypto/DehydratedDeviceManager.ts +392 -0
- package/src/rust-crypto/KeyClaimManager.ts +86 -0
- package/src/rust-crypto/OutgoingRequestProcessor.ts +233 -0
- package/src/rust-crypto/OutgoingRequestsManager.ts +170 -0
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
- package/src/rust-crypto/RoomEncryptor.ts +362 -0
- package/src/rust-crypto/backup.ts +942 -0
- package/src/rust-crypto/constants.ts +18 -0
- package/src/rust-crypto/device-converter.ts +128 -0
- package/src/rust-crypto/index.ts +251 -0
- package/src/rust-crypto/libolm_migration.ts +532 -0
- package/src/rust-crypto/rust-crypto.ts +2542 -0
- package/src/rust-crypto/secret-storage.ts +60 -0
- package/src/rust-crypto/verification.ts +833 -0
- package/src/scheduler.ts +309 -0
- package/src/secret-storage.ts +714 -0
- package/src/serverCapabilities.ts +146 -0
- package/src/service-types.ts +20 -0
- package/src/sliding-sync-sdk.ts +1005 -0
- package/src/sliding-sync.ts +674 -0
- package/src/store/index.ts +261 -0
- package/src/store/indexeddb-backend.ts +41 -0
- package/src/store/indexeddb-local-backend.ts +610 -0
- package/src/store/indexeddb-remote-backend.ts +212 -0
- package/src/store/indexeddb-store-worker.ts +157 -0
- package/src/store/indexeddb.ts +397 -0
- package/src/store/local-storage-events-emitter.ts +46 -0
- package/src/store/memory.ts +448 -0
- package/src/store/stub.ts +280 -0
- package/src/sync-accumulator.ts +779 -0
- package/src/sync.ts +2020 -0
- package/src/testing.ts +231 -0
- package/src/thread-utils.ts +31 -0
- package/src/timeline-window.ts +534 -0
- package/src/types.ts +59 -0
- package/src/utils/decryptAESSecretStorageItem.ts +54 -0
- package/src/utils/encryptAESSecretStorageItem.ts +73 -0
- package/src/utils/internal/deriveKeys.ts +63 -0
- package/src/utils/roomVersion.ts +35 -0
- package/src/utils.ts +775 -0
- package/src/version-support.ts +50 -0
- package/src/webrtc/audioContext.ts +44 -0
- package/src/webrtc/call.ts +3061 -0
- package/src/webrtc/callEventHandler.ts +425 -0
- package/src/webrtc/callEventTypes.ts +101 -0
- package/src/webrtc/callFeed.ts +364 -0
- package/src/webrtc/groupCall.ts +1729 -0
- package/src/webrtc/groupCallEventHandler.ts +234 -0
- package/src/webrtc/mediaHandler.ts +501 -0
- package/src/webrtc/stats/callFeedStatsReporter.ts +91 -0
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
- package/src/webrtc/stats/connectionStats.ts +47 -0
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
- package/src/webrtc/stats/groupCallStats.ts +93 -0
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
- package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -0
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
- package/src/webrtc/stats/statsReport.ts +133 -0
- package/src/webrtc/stats/statsReportEmitter.ts +49 -0
- package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
- package/src/webrtc/stats/transportStats.ts +26 -0
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
- package/src/webrtc/stats/valueFormatter.ts +27 -0
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
7
|
+
|
|
8
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
you may not use this file except in compliance with the License.
|
|
10
|
+
You may obtain a copy of the License at
|
|
11
|
+
|
|
12
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
|
|
14
|
+
Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
See the License for the specific language governing permissions and
|
|
18
|
+
limitations under the License.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* This is an internal module. See {@link BriijHttpApi} for the public class.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
import { checkObjectHasKeys, deepCopy, encodeParams } from "../utils.js";
|
|
26
|
+
import { Method } from "./method.js";
|
|
27
|
+
import { ConnectionError, BriijError, TokenRefreshError } from "./errors.js";
|
|
28
|
+
import { HttpApiEvent } from "./interface.js";
|
|
29
|
+
import { anySignal, parseErrorResponse, timeoutSignal } from "./utils.js";
|
|
30
|
+
import { TokenRefresher, TokenRefreshOutcome } from "./refresh.js";
|
|
31
|
+
export class FetchHttpApi {
|
|
32
|
+
constructor(eventEmitter, opts) {
|
|
33
|
+
var _opts$useAuthorizatio;
|
|
34
|
+
this.eventEmitter = eventEmitter;
|
|
35
|
+
this.opts = opts;
|
|
36
|
+
_defineProperty(this, "abortController", new AbortController());
|
|
37
|
+
_defineProperty(this, "tokenRefresher", void 0);
|
|
38
|
+
checkObjectHasKeys(opts, ["baseUrl", "prefix"]);
|
|
39
|
+
if (!opts.onlyData) {
|
|
40
|
+
throw new Error("Constructing FetchHttpApi without `onlyData=true` is no longer supported.");
|
|
41
|
+
}
|
|
42
|
+
opts.useAuthorizationHeader = (_opts$useAuthorizatio = opts.useAuthorizationHeader) !== null && _opts$useAuthorizatio !== void 0 ? _opts$useAuthorizatio : true;
|
|
43
|
+
this.tokenRefresher = new TokenRefresher(opts);
|
|
44
|
+
}
|
|
45
|
+
abort() {
|
|
46
|
+
this.abortController.abort();
|
|
47
|
+
this.abortController = new AbortController();
|
|
48
|
+
}
|
|
49
|
+
fetch(resource, options) {
|
|
50
|
+
if (this.opts.fetchFn) {
|
|
51
|
+
return this.opts.fetchFn(resource, options);
|
|
52
|
+
}
|
|
53
|
+
return globalThis.fetch(resource, options);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Sets the base URL for the identity server
|
|
58
|
+
* @param url - The new base url
|
|
59
|
+
*/
|
|
60
|
+
setIdBaseUrl(url) {
|
|
61
|
+
this.opts.idBaseUrl = url;
|
|
62
|
+
}
|
|
63
|
+
idServerRequest(method, path, params, prefix, accessToken) {
|
|
64
|
+
if (!this.opts.idBaseUrl) {
|
|
65
|
+
throw new Error("No identity server base URL set");
|
|
66
|
+
}
|
|
67
|
+
var queryParams = undefined;
|
|
68
|
+
var body = undefined;
|
|
69
|
+
if (method === Method.Get) {
|
|
70
|
+
queryParams = params;
|
|
71
|
+
} else {
|
|
72
|
+
body = params;
|
|
73
|
+
}
|
|
74
|
+
var fullUri = this.getUrl(path, queryParams, prefix, this.opts.idBaseUrl);
|
|
75
|
+
var opts = {
|
|
76
|
+
json: true,
|
|
77
|
+
headers: {}
|
|
78
|
+
};
|
|
79
|
+
if (accessToken) {
|
|
80
|
+
opts.headers.Authorization = "Bearer ".concat(accessToken);
|
|
81
|
+
}
|
|
82
|
+
return this.requestOtherUrl(method, fullUri, body, opts);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Perform an authorised request to the homeserver.
|
|
87
|
+
* @param method - The HTTP method e.g. "GET".
|
|
88
|
+
* @param path - The HTTP path <b>after</b> the supplied prefix e.g.
|
|
89
|
+
* "/createRoom".
|
|
90
|
+
*
|
|
91
|
+
* @param queryParams - A dict of query params (these will NOT be
|
|
92
|
+
* urlencoded). If unspecified, there will be no query params.
|
|
93
|
+
*
|
|
94
|
+
* @param body - The HTTP JSON body.
|
|
95
|
+
*
|
|
96
|
+
* @param paramOpts - additional options.
|
|
97
|
+
* When `paramOpts.doNotAttemptTokenRefresh` is true, token refresh will not be attempted
|
|
98
|
+
* when an expired token is encountered. Used to only attempt token refresh once.
|
|
99
|
+
*
|
|
100
|
+
* @returns The parsed response.
|
|
101
|
+
* @throws Error if a problem occurred. This includes network problems and Matrix-specific error JSON.
|
|
102
|
+
*/
|
|
103
|
+
authedRequest(method, path) {
|
|
104
|
+
var queryParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
105
|
+
var body = arguments.length > 3 ? arguments[3] : undefined;
|
|
106
|
+
var paramOpts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
107
|
+
return this.doAuthedRequest(1, method, path, queryParams, body, paramOpts);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Wrapper around public method authedRequest to allow for tracking retry attempt counts
|
|
111
|
+
doAuthedRequest(attempt, method, path, queryParams, body) {
|
|
112
|
+
var _arguments = arguments,
|
|
113
|
+
_this = this;
|
|
114
|
+
return _asyncToGenerator(function* () {
|
|
115
|
+
var paramOpts = _arguments.length > 5 && _arguments[5] !== undefined ? _arguments[5] : {};
|
|
116
|
+
// avoid mutating paramOpts so they can be used on retry
|
|
117
|
+
var opts = deepCopy(paramOpts);
|
|
118
|
+
// we have to manually copy the abortSignal over as it is not a plain object
|
|
119
|
+
opts.abortSignal = paramOpts.abortSignal;
|
|
120
|
+
|
|
121
|
+
// Take a snapshot of the current token state before we start the request so we can reference it if we error
|
|
122
|
+
var requestSnapshot = yield _this.tokenRefresher.prepareForRequest();
|
|
123
|
+
if (requestSnapshot.accessToken) {
|
|
124
|
+
if (_this.opts.useAuthorizationHeader) {
|
|
125
|
+
if (!opts.headers) {
|
|
126
|
+
opts.headers = {};
|
|
127
|
+
}
|
|
128
|
+
if (!opts.headers.Authorization) {
|
|
129
|
+
opts.headers.Authorization = "Bearer ".concat(requestSnapshot.accessToken);
|
|
130
|
+
}
|
|
131
|
+
if (queryParams.access_token) {
|
|
132
|
+
delete queryParams.access_token;
|
|
133
|
+
}
|
|
134
|
+
} else if (!queryParams.access_token) {
|
|
135
|
+
queryParams.access_token = requestSnapshot.accessToken;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
var response = yield _this.request(method, path, queryParams, body, opts);
|
|
140
|
+
return response;
|
|
141
|
+
} catch (error) {
|
|
142
|
+
if (!(error instanceof BriijError)) {
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
if (error.errcode === "M_UNKNOWN_TOKEN") {
|
|
146
|
+
var outcome = yield _this.tokenRefresher.handleUnknownToken(requestSnapshot, attempt);
|
|
147
|
+
if (outcome === TokenRefreshOutcome.Success) {
|
|
148
|
+
// if we got a new token retry the request
|
|
149
|
+
return _this.doAuthedRequest(attempt + 1, method, path, queryParams, body, paramOpts);
|
|
150
|
+
}
|
|
151
|
+
if (outcome === TokenRefreshOutcome.Failure) {
|
|
152
|
+
throw new TokenRefreshError(error);
|
|
153
|
+
}
|
|
154
|
+
if (!(opts !== null && opts !== void 0 && opts.inhibitLogoutEmit)) {
|
|
155
|
+
_this.eventEmitter.emit(HttpApiEvent.SessionLoggedOut, error);
|
|
156
|
+
}
|
|
157
|
+
} else if (error.errcode == "M_CONSENT_NOT_GIVEN") {
|
|
158
|
+
_this.eventEmitter.emit(HttpApiEvent.NoConsent, error.message, error.data.consent_uri);
|
|
159
|
+
}
|
|
160
|
+
throw error;
|
|
161
|
+
}
|
|
162
|
+
})();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Perform a request to the homeserver without any credentials.
|
|
167
|
+
* @param method - The HTTP method e.g. "GET".
|
|
168
|
+
* @param path - The HTTP path <b>after</b> the supplied prefix e.g.
|
|
169
|
+
* "/createRoom".
|
|
170
|
+
*
|
|
171
|
+
* @param queryParams - A dict of query params (these will NOT be
|
|
172
|
+
* urlencoded). If unspecified, there will be no query params.
|
|
173
|
+
*
|
|
174
|
+
* @param body - The HTTP JSON body.
|
|
175
|
+
*
|
|
176
|
+
* @param opts - additional options
|
|
177
|
+
*
|
|
178
|
+
* @returns The parsed response.
|
|
179
|
+
* @throws Error if a problem occurred. This includes network problems and Matrix-specific error JSON.
|
|
180
|
+
*/
|
|
181
|
+
request(method, path, queryParams, body, opts) {
|
|
182
|
+
var fullUri = this.getUrl(path, queryParams, opts === null || opts === void 0 ? void 0 : opts.prefix, opts === null || opts === void 0 ? void 0 : opts.baseUrl);
|
|
183
|
+
return this.requestOtherUrl(method, fullUri, body, opts);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Perform a request to an arbitrary URL.
|
|
188
|
+
* @param method - The HTTP method e.g. "GET".
|
|
189
|
+
* @param url - The HTTP URL object.
|
|
190
|
+
*
|
|
191
|
+
* @param body - The HTTP JSON body.
|
|
192
|
+
*
|
|
193
|
+
* @param opts - additional options
|
|
194
|
+
*
|
|
195
|
+
* @returns The parsed response.
|
|
196
|
+
* @throws Error if a problem occurred. This includes network problems and Matrix-specific error JSON.
|
|
197
|
+
*/
|
|
198
|
+
requestOtherUrl(method, url, body) {
|
|
199
|
+
var _arguments2 = arguments,
|
|
200
|
+
_this2 = this;
|
|
201
|
+
return _asyncToGenerator(function* () {
|
|
202
|
+
var _this2$opts$logger, _opts$localTimeoutMs, _opts$keepAlive, _body$constructor;
|
|
203
|
+
var opts = _arguments2.length > 3 && _arguments2[3] !== undefined ? _arguments2[3] : {};
|
|
204
|
+
if (opts.json !== undefined && opts.rawResponseBody !== undefined) {
|
|
205
|
+
throw new Error("Invalid call to `FetchHttpApi` sets both `opts.json` and `opts.rawResponseBody`");
|
|
206
|
+
}
|
|
207
|
+
var urlForLogs = _this2.sanitizeUrlForLogs(url);
|
|
208
|
+
(_this2$opts$logger = _this2.opts.logger) === null || _this2$opts$logger === void 0 || _this2$opts$logger.debug("FetchHttpApi: --> ".concat(method, " ").concat(urlForLogs));
|
|
209
|
+
var headers = Object.assign({}, opts.headers || {});
|
|
210
|
+
var jsonResponse = !opts.rawResponseBody && opts.json !== false;
|
|
211
|
+
if (jsonResponse) {
|
|
212
|
+
if (!headers["Accept"]) {
|
|
213
|
+
headers["Accept"] = "application/json";
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
var timeout = (_opts$localTimeoutMs = opts.localTimeoutMs) !== null && _opts$localTimeoutMs !== void 0 ? _opts$localTimeoutMs : _this2.opts.localTimeoutMs;
|
|
217
|
+
var keepAlive = (_opts$keepAlive = opts.keepAlive) !== null && _opts$keepAlive !== void 0 ? _opts$keepAlive : false;
|
|
218
|
+
var signals = [_this2.abortController.signal];
|
|
219
|
+
if (timeout !== undefined) {
|
|
220
|
+
signals.push(timeoutSignal(timeout));
|
|
221
|
+
}
|
|
222
|
+
if (opts.abortSignal) {
|
|
223
|
+
signals.push(opts.abortSignal);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// If the body is an object, encode it as JSON and set the `Content-Type` header,
|
|
227
|
+
// unless that has been explicitly inhibited by setting `opts.json: false`.
|
|
228
|
+
// We can't use getPrototypeOf here as objects made in other contexts e.g. over postMessage won't have same ref
|
|
229
|
+
var data;
|
|
230
|
+
if (opts.json !== false && (body === null || body === void 0 || (_body$constructor = body.constructor) === null || _body$constructor === void 0 ? void 0 : _body$constructor.name) === Object.name) {
|
|
231
|
+
data = JSON.stringify(body);
|
|
232
|
+
if (!headers["Content-Type"]) {
|
|
233
|
+
headers["Content-Type"] = "application/json";
|
|
234
|
+
}
|
|
235
|
+
} else {
|
|
236
|
+
data = body;
|
|
237
|
+
}
|
|
238
|
+
var {
|
|
239
|
+
signal,
|
|
240
|
+
cleanup
|
|
241
|
+
} = anySignal(signals);
|
|
242
|
+
|
|
243
|
+
// Set cache mode based on presence of Authorization header.
|
|
244
|
+
// Browsers/proxies do not cache responses to requests with Authorization headers.
|
|
245
|
+
// So specifying "no-cache" is redundant, and actually prevents caching
|
|
246
|
+
// of preflight requests in CORS scenarios. As such, we only set "no-cache"
|
|
247
|
+
// when there is no Authorization header.
|
|
248
|
+
var cacheMode = "Authorization" in headers ? undefined : "no-cache";
|
|
249
|
+
var res;
|
|
250
|
+
var start = Date.now();
|
|
251
|
+
try {
|
|
252
|
+
var _this2$opts$logger2;
|
|
253
|
+
res = yield _this2.fetch(url, {
|
|
254
|
+
signal,
|
|
255
|
+
method,
|
|
256
|
+
body: data,
|
|
257
|
+
headers,
|
|
258
|
+
mode: "cors",
|
|
259
|
+
redirect: "follow",
|
|
260
|
+
referrer: "",
|
|
261
|
+
referrerPolicy: "no-referrer",
|
|
262
|
+
cache: cacheMode,
|
|
263
|
+
credentials: "omit",
|
|
264
|
+
// we send credentials via headers
|
|
265
|
+
keepalive: keepAlive,
|
|
266
|
+
priority: opts.priority
|
|
267
|
+
});
|
|
268
|
+
(_this2$opts$logger2 = _this2.opts.logger) === null || _this2$opts$logger2 === void 0 || _this2$opts$logger2.debug("FetchHttpApi: <-- ".concat(method, " ").concat(urlForLogs, " [").concat(Date.now() - start, "ms ").concat(res.status, "]"));
|
|
269
|
+
} catch (e) {
|
|
270
|
+
var _this2$opts$logger3;
|
|
271
|
+
(_this2$opts$logger3 = _this2.opts.logger) === null || _this2$opts$logger3 === void 0 || _this2$opts$logger3.debug("FetchHttpApi: <-- ".concat(method, " ").concat(urlForLogs, " [").concat(Date.now() - start, "ms ").concat(e, "]"));
|
|
272
|
+
if (e.name === "AbortError") {
|
|
273
|
+
throw e;
|
|
274
|
+
}
|
|
275
|
+
throw new ConnectionError("fetch failed", e);
|
|
276
|
+
} finally {
|
|
277
|
+
cleanup();
|
|
278
|
+
}
|
|
279
|
+
if (!res.ok) {
|
|
280
|
+
throw parseErrorResponse(res, yield res.text());
|
|
281
|
+
}
|
|
282
|
+
if (opts.rawResponseBody) {
|
|
283
|
+
return yield res.blob();
|
|
284
|
+
} else if (jsonResponse) {
|
|
285
|
+
return yield res.json();
|
|
286
|
+
} else {
|
|
287
|
+
return yield res.text();
|
|
288
|
+
}
|
|
289
|
+
})();
|
|
290
|
+
}
|
|
291
|
+
sanitizeUrlForLogs(url) {
|
|
292
|
+
try {
|
|
293
|
+
var asUrl;
|
|
294
|
+
if (typeof url === "string") {
|
|
295
|
+
asUrl = new URL(url);
|
|
296
|
+
} else {
|
|
297
|
+
asUrl = url;
|
|
298
|
+
}
|
|
299
|
+
// Remove the values of any URL params that could contain potential secrets
|
|
300
|
+
var sanitizedQs = new URLSearchParams();
|
|
301
|
+
for (var key of asUrl.searchParams.keys()) {
|
|
302
|
+
sanitizedQs.append(key, "xxx");
|
|
303
|
+
}
|
|
304
|
+
var sanitizedQsString = sanitizedQs.toString();
|
|
305
|
+
var sanitizedQsUrlPiece = sanitizedQsString ? "?".concat(sanitizedQsString) : "";
|
|
306
|
+
return asUrl.origin + asUrl.pathname + sanitizedQsUrlPiece;
|
|
307
|
+
} catch (_unused) {
|
|
308
|
+
// defensive coding for malformed url
|
|
309
|
+
return "??";
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Form and return a homeserver request URL based on the given path params and prefix.
|
|
314
|
+
* @param path - The HTTP path <b>after</b> the supplied prefix e.g. "/createRoom".
|
|
315
|
+
* @param queryParams - A dict of query params (these will NOT be urlencoded).
|
|
316
|
+
* @param prefix - The full prefix to use e.g. "/_matrix/client/v2_alpha", defaulting to this.opts.prefix.
|
|
317
|
+
* @param baseUrl - The baseUrl to use e.g. "https://matrix.org", defaulting to this.opts.baseUrl.
|
|
318
|
+
* @returns URL
|
|
319
|
+
*/
|
|
320
|
+
getUrl(path, queryParams, prefix, baseUrl) {
|
|
321
|
+
var baseUrlWithFallback = baseUrl !== null && baseUrl !== void 0 ? baseUrl : this.opts.baseUrl;
|
|
322
|
+
var baseUrlWithoutTrailingSlash = baseUrlWithFallback.endsWith("/") ? baseUrlWithFallback.slice(0, -1) : baseUrlWithFallback;
|
|
323
|
+
var url = new URL(baseUrlWithoutTrailingSlash + (prefix !== null && prefix !== void 0 ? prefix : this.opts.prefix) + path);
|
|
324
|
+
// If there are any params, encode and append them to the URL.
|
|
325
|
+
if (this.opts.extraParams || queryParams) {
|
|
326
|
+
var mergedParams = _objectSpread(_objectSpread({}, this.opts.extraParams), queryParams);
|
|
327
|
+
encodeParams(mergedParams, url.searchParams);
|
|
328
|
+
}
|
|
329
|
+
return url;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","names":["checkObjectHasKeys","deepCopy","encodeParams","Method","ConnectionError","BriijError","TokenRefreshError","HttpApiEvent","anySignal","parseErrorResponse","timeoutSignal","TokenRefresher","TokenRefreshOutcome","FetchHttpApi","constructor","eventEmitter","opts","_opts$useAuthorizatio","_defineProperty","AbortController","onlyData","Error","useAuthorizationHeader","tokenRefresher","abort","abortController","fetch","resource","options","fetchFn","globalThis","setIdBaseUrl","url","idBaseUrl","idServerRequest","method","path","params","prefix","accessToken","queryParams","undefined","body","Get","fullUri","getUrl","json","headers","Authorization","concat","requestOtherUrl","authedRequest","arguments","length","paramOpts","doAuthedRequest","attempt","_arguments","_this","_asyncToGenerator","abortSignal","requestSnapshot","prepareForRequest","access_token","response","request","error","errcode","outcome","handleUnknownToken","Success","Failure","inhibitLogoutEmit","emit","SessionLoggedOut","NoConsent","message","data","consent_uri","baseUrl","_arguments2","_this2","_this2$opts$logger","_opts$localTimeoutMs","_opts$keepAlive","_body$constructor","rawResponseBody","urlForLogs","sanitizeUrlForLogs","logger","debug","Object","assign","jsonResponse","timeout","localTimeoutMs","keepAlive","signals","signal","push","name","JSON","stringify","cleanup","cacheMode","res","start","Date","now","_this2$opts$logger2","mode","redirect","referrer","referrerPolicy","cache","credentials","keepalive","priority","status","e","_this2$opts$logger3","ok","text","blob","asUrl","URL","sanitizedQs","URLSearchParams","key","searchParams","keys","append","sanitizedQsString","toString","sanitizedQsUrlPiece","origin","pathname","_unused","baseUrlWithFallback","baseUrlWithoutTrailingSlash","endsWith","slice","extraParams","mergedParams","_objectSpread"],"sources":["../../src/http-api/fetch.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * This is an internal module. See {@link BriijHttpApi} for the public class.\n */\n\nimport { checkObjectHasKeys, deepCopy, encodeParams } from \"../utils.ts\";\nimport { type TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\nimport { Method } from \"./method.ts\";\nimport { ConnectionError, BriijError, TokenRefreshError } from \"./errors.ts\";\nimport {\n type BaseRequestOpts,\n HttpApiEvent,\n type HttpApiEventHandlerMap,\n type IHttpOpts,\n type IRequestOpts,\n type Body,\n} from \"./interface.ts\";\nimport { anySignal, parseErrorResponse, timeoutSignal } from \"./utils.ts\";\nimport { type QueryDict } from \"../utils.ts\";\nimport { TokenRefresher, TokenRefreshOutcome } from \"./refresh.ts\";\n\nexport class FetchHttpApi<O extends IHttpOpts> {\n private abortController = new AbortController();\n private readonly tokenRefresher: TokenRefresher;\n\n public constructor(\n private eventEmitter: TypedEventEmitter<HttpApiEvent, HttpApiEventHandlerMap>,\n public readonly opts: O,\n ) {\n checkObjectHasKeys(opts, [\"baseUrl\", \"prefix\"]);\n if (!opts.onlyData) {\n throw new Error(\"Constructing FetchHttpApi without `onlyData=true` is no longer supported.\");\n }\n opts.useAuthorizationHeader = opts.useAuthorizationHeader ?? true;\n\n this.tokenRefresher = new TokenRefresher(opts);\n }\n\n public abort(): void {\n this.abortController.abort();\n this.abortController = new AbortController();\n }\n\n public fetch(resource: URL | string, options?: RequestInit): ReturnType<typeof globalThis.fetch> {\n if (this.opts.fetchFn) {\n return this.opts.fetchFn(resource, options);\n }\n return globalThis.fetch(resource, options);\n }\n\n /**\n * Sets the base URL for the identity server\n * @param url - The new base url\n */\n public setIdBaseUrl(url?: string): void {\n this.opts.idBaseUrl = url;\n }\n\n public idServerRequest<T extends object = Record<string, unknown>>(\n method: Method,\n path: string,\n params: Record<string, string | string[]> | undefined,\n prefix: string,\n accessToken?: string,\n ): Promise<T> {\n if (!this.opts.idBaseUrl) {\n throw new Error(\"No identity server base URL set\");\n }\n\n let queryParams: QueryDict | undefined = undefined;\n let body: Record<string, string | string[]> | undefined = undefined;\n if (method === Method.Get) {\n queryParams = params;\n } else {\n body = params;\n }\n\n const fullUri = this.getUrl(path, queryParams, prefix, this.opts.idBaseUrl);\n\n const opts: IRequestOpts = {\n json: true,\n headers: {},\n };\n if (accessToken) {\n opts.headers!.Authorization = `Bearer ${accessToken}`;\n }\n\n return this.requestOtherUrl(method, fullUri, body, opts);\n }\n\n /**\n * Perform an authorised request to the homeserver.\n * @param method - The HTTP method e.g. \"GET\".\n * @param path - The HTTP path <b>after</b> the supplied prefix e.g.\n * \"/createRoom\".\n *\n * @param queryParams - A dict of query params (these will NOT be\n * urlencoded). If unspecified, there will be no query params.\n *\n * @param body - The HTTP JSON body.\n *\n * @param paramOpts - additional options.\n * When `paramOpts.doNotAttemptTokenRefresh` is true, token refresh will not be attempted\n * when an expired token is encountered. Used to only attempt token refresh once.\n *\n * @returns The parsed response.\n * @throws Error if a problem occurred. This includes network problems and Matrix-specific error JSON.\n */\n public authedRequest<T>(\n method: Method,\n path: string,\n queryParams: QueryDict = {},\n body?: Body,\n paramOpts: IRequestOpts = {},\n ): Promise<T> {\n return this.doAuthedRequest<T>(1, method, path, queryParams, body, paramOpts);\n }\n\n // Wrapper around public method authedRequest to allow for tracking retry attempt counts\n private async doAuthedRequest<T>(\n attempt: number,\n method: Method,\n path: string,\n queryParams: QueryDict,\n body?: Body,\n paramOpts: IRequestOpts = {},\n ): Promise<T> {\n // avoid mutating paramOpts so they can be used on retry\n const opts = deepCopy(paramOpts);\n // we have to manually copy the abortSignal over as it is not a plain object\n opts.abortSignal = paramOpts.abortSignal;\n\n // Take a snapshot of the current token state before we start the request so we can reference it if we error\n const requestSnapshot = await this.tokenRefresher.prepareForRequest();\n if (requestSnapshot.accessToken) {\n if (this.opts.useAuthorizationHeader) {\n if (!opts.headers) {\n opts.headers = {};\n }\n if (!opts.headers.Authorization) {\n opts.headers.Authorization = `Bearer ${requestSnapshot.accessToken}`;\n }\n if (queryParams.access_token) {\n delete queryParams.access_token;\n }\n } else if (!queryParams.access_token) {\n queryParams.access_token = requestSnapshot.accessToken;\n }\n }\n\n try {\n const response = await this.request<T>(method, path, queryParams, body, opts);\n return response;\n } catch (error) {\n if (!(error instanceof BriijError)) {\n throw error;\n }\n\n if (error.errcode === \"M_UNKNOWN_TOKEN\") {\n const outcome = await this.tokenRefresher.handleUnknownToken(requestSnapshot, attempt);\n if (outcome === TokenRefreshOutcome.Success) {\n // if we got a new token retry the request\n return this.doAuthedRequest(attempt + 1, method, path, queryParams, body, paramOpts);\n }\n if (outcome === TokenRefreshOutcome.Failure) {\n throw new TokenRefreshError(error);\n }\n\n if (!opts?.inhibitLogoutEmit) {\n this.eventEmitter.emit(HttpApiEvent.SessionLoggedOut, error);\n }\n } else if (error.errcode == \"M_CONSENT_NOT_GIVEN\") {\n this.eventEmitter.emit(HttpApiEvent.NoConsent, error.message, error.data.consent_uri);\n }\n\n throw error;\n }\n }\n\n /**\n * Perform a request to the homeserver without any credentials.\n * @param method - The HTTP method e.g. \"GET\".\n * @param path - The HTTP path <b>after</b> the supplied prefix e.g.\n * \"/createRoom\".\n *\n * @param queryParams - A dict of query params (these will NOT be\n * urlencoded). If unspecified, there will be no query params.\n *\n * @param body - The HTTP JSON body.\n *\n * @param opts - additional options\n *\n * @returns The parsed response.\n * @throws Error if a problem occurred. This includes network problems and Matrix-specific error JSON.\n */\n public request<T>(\n method: Method,\n path: string,\n queryParams?: QueryDict,\n body?: Body,\n opts?: IRequestOpts,\n ): Promise<T> {\n const fullUri = this.getUrl(path, queryParams, opts?.prefix, opts?.baseUrl);\n return this.requestOtherUrl<T>(method, fullUri, body, opts);\n }\n\n /**\n * Perform a request to an arbitrary URL.\n * @param method - The HTTP method e.g. \"GET\".\n * @param url - The HTTP URL object.\n *\n * @param body - The HTTP JSON body.\n *\n * @param opts - additional options\n *\n * @returns The parsed response.\n * @throws Error if a problem occurred. This includes network problems and Matrix-specific error JSON.\n */\n public async requestOtherUrl<T>(\n method: Method,\n url: URL | string,\n body?: Body,\n opts: BaseRequestOpts = {},\n ): Promise<T> {\n if (opts.json !== undefined && opts.rawResponseBody !== undefined) {\n throw new Error(\"Invalid call to `FetchHttpApi` sets both `opts.json` and `opts.rawResponseBody`\");\n }\n\n const urlForLogs = this.sanitizeUrlForLogs(url);\n\n this.opts.logger?.debug(`FetchHttpApi: --> ${method} ${urlForLogs}`);\n\n const headers = Object.assign({}, opts.headers || {});\n\n const jsonResponse = !opts.rawResponseBody && opts.json !== false;\n if (jsonResponse) {\n if (!headers[\"Accept\"]) {\n headers[\"Accept\"] = \"application/json\";\n }\n }\n\n const timeout = opts.localTimeoutMs ?? this.opts.localTimeoutMs;\n const keepAlive = opts.keepAlive ?? false;\n const signals = [this.abortController.signal];\n if (timeout !== undefined) {\n signals.push(timeoutSignal(timeout));\n }\n if (opts.abortSignal) {\n signals.push(opts.abortSignal);\n }\n\n // If the body is an object, encode it as JSON and set the `Content-Type` header,\n // unless that has been explicitly inhibited by setting `opts.json: false`.\n // We can't use getPrototypeOf here as objects made in other contexts e.g. over postMessage won't have same ref\n let data: BodyInit;\n if (opts.json !== false && body?.constructor?.name === Object.name) {\n data = JSON.stringify(body);\n if (!headers[\"Content-Type\"]) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n } else {\n data = body as BodyInit;\n }\n\n const { signal, cleanup } = anySignal(signals);\n\n // Set cache mode based on presence of Authorization header.\n // Browsers/proxies do not cache responses to requests with Authorization headers.\n // So specifying \"no-cache\" is redundant, and actually prevents caching\n // of preflight requests in CORS scenarios. As such, we only set \"no-cache\"\n // when there is no Authorization header.\n const cacheMode = \"Authorization\" in headers ? undefined : \"no-cache\";\n\n let res: Response;\n const start = Date.now();\n try {\n res = await this.fetch(url, {\n signal,\n method,\n body: data,\n headers,\n mode: \"cors\",\n redirect: \"follow\",\n referrer: \"\",\n referrerPolicy: \"no-referrer\",\n cache: cacheMode,\n credentials: \"omit\", // we send credentials via headers\n keepalive: keepAlive,\n priority: opts.priority,\n });\n\n this.opts.logger?.debug(\n `FetchHttpApi: <-- ${method} ${urlForLogs} [${Date.now() - start}ms ${res.status}]`,\n );\n } catch (e) {\n this.opts.logger?.debug(`FetchHttpApi: <-- ${method} ${urlForLogs} [${Date.now() - start}ms ${e}]`);\n if ((<Error>e).name === \"AbortError\") {\n throw e;\n }\n throw new ConnectionError(\"fetch failed\", <Error>e);\n } finally {\n cleanup();\n }\n\n if (!res.ok) {\n throw parseErrorResponse(res, await res.text());\n }\n\n if (opts.rawResponseBody) {\n return (await res.blob()) as T;\n } else if (jsonResponse) {\n return await res.json();\n } else {\n return (await res.text()) as T;\n }\n }\n\n private sanitizeUrlForLogs(url: URL | string): string {\n try {\n let asUrl: URL;\n if (typeof url === \"string\") {\n asUrl = new URL(url);\n } else {\n asUrl = url;\n }\n // Remove the values of any URL params that could contain potential secrets\n const sanitizedQs = new URLSearchParams();\n for (const key of asUrl.searchParams.keys()) {\n sanitizedQs.append(key, \"xxx\");\n }\n const sanitizedQsString = sanitizedQs.toString();\n const sanitizedQsUrlPiece = sanitizedQsString ? `?${sanitizedQsString}` : \"\";\n\n return asUrl.origin + asUrl.pathname + sanitizedQsUrlPiece;\n } catch {\n // defensive coding for malformed url\n return \"??\";\n }\n }\n /**\n * Form and return a homeserver request URL based on the given path params and prefix.\n * @param path - The HTTP path <b>after</b> the supplied prefix e.g. \"/createRoom\".\n * @param queryParams - A dict of query params (these will NOT be urlencoded).\n * @param prefix - The full prefix to use e.g. \"/_matrix/client/v2_alpha\", defaulting to this.opts.prefix.\n * @param baseUrl - The baseUrl to use e.g. \"https://matrix.org\", defaulting to this.opts.baseUrl.\n * @returns URL\n */\n public getUrl(path: string, queryParams?: QueryDict, prefix?: string, baseUrl?: string): URL {\n const baseUrlWithFallback = baseUrl ?? this.opts.baseUrl;\n const baseUrlWithoutTrailingSlash = baseUrlWithFallback.endsWith(\"/\")\n ? baseUrlWithFallback.slice(0, -1)\n : baseUrlWithFallback;\n const url = new URL(baseUrlWithoutTrailingSlash + (prefix ?? this.opts.prefix) + path);\n // If there are any params, encode and append them to the URL.\n if (this.opts.extraParams || queryParams) {\n const mergedParams = { ...this.opts.extraParams, ...queryParams };\n encodeParams(mergedParams, url.searchParams);\n }\n\n return url;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FetchHttpApi } from "./fetch.ts";
|
|
2
|
+
import { type FileType, type IContentUri, type IHttpOpts, type Upload, type UploadOpts, type UploadResponse } from "./interface.ts";
|
|
3
|
+
export * from "./interface.ts";
|
|
4
|
+
export * from "./prefix.ts";
|
|
5
|
+
export * from "./errors.ts";
|
|
6
|
+
export * from "./method.ts";
|
|
7
|
+
export * from "./utils.ts";
|
|
8
|
+
export declare class BriijHttpApi<O extends IHttpOpts> extends FetchHttpApi<O> {
|
|
9
|
+
private uploads;
|
|
10
|
+
/**
|
|
11
|
+
* Upload content to the homeserver
|
|
12
|
+
*
|
|
13
|
+
* @param file - The object to upload. On a browser, something that
|
|
14
|
+
* can be sent to XMLHttpRequest.send (typically a File). Under node.js,
|
|
15
|
+
* a Buffer, String or ReadStream.
|
|
16
|
+
*
|
|
17
|
+
* @param opts - options object
|
|
18
|
+
*
|
|
19
|
+
* @returns Promise which resolves to response object, or rejects with an error (usually a BriijError).
|
|
20
|
+
* @throws May throw a `MatrixSafetyError` if content is deemed unsafe.
|
|
21
|
+
* @see MatrixSafetyError
|
|
22
|
+
*/
|
|
23
|
+
uploadContent(file: FileType, opts?: UploadOpts): Promise<UploadResponse>;
|
|
24
|
+
cancelUpload(promise: Promise<UploadResponse>): boolean;
|
|
25
|
+
getCurrentUploads(): Upload[];
|
|
26
|
+
/**
|
|
27
|
+
* Get the content repository url with query parameters.
|
|
28
|
+
* @returns An object with a 'base', 'path' and 'params' for base URL,
|
|
29
|
+
* path and query parameters respectively.
|
|
30
|
+
*/
|
|
31
|
+
getContentUri(): IContentUri;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http-api/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACtB,MAAM,gBAAgB,CAAC;AAQxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAE3B,qBAAa,YAAY,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;;;;;;;;;OAYG;IACI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgH7E,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO;IASvD,iBAAiB,IAAI,MAAM,EAAE;IAIpC;;;;OAIG;IACI,aAAa,IAAI,WAAW;CAStC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
/*
|
|
3
|
+
Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { FetchHttpApi } from "./fetch.js";
|
|
19
|
+
import { MediaPrefix } from "./prefix.js";
|
|
20
|
+
import { removeElement } from "../utils.js";
|
|
21
|
+
import * as callbacks from "../realtime-callbacks.js";
|
|
22
|
+
import { Method } from "./method.js";
|
|
23
|
+
import { ConnectionError } from "./errors.js";
|
|
24
|
+
import { parseErrorResponse } from "./utils.js";
|
|
25
|
+
export * from "./interface.js";
|
|
26
|
+
export * from "./prefix.js";
|
|
27
|
+
export * from "./errors.js";
|
|
28
|
+
export * from "./method.js";
|
|
29
|
+
export * from "./utils.js";
|
|
30
|
+
export class BriijHttpApi extends FetchHttpApi {
|
|
31
|
+
constructor() {
|
|
32
|
+
super(...arguments);
|
|
33
|
+
_defineProperty(this, "uploads", []);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Upload content to the homeserver
|
|
37
|
+
*
|
|
38
|
+
* @param file - The object to upload. On a browser, something that
|
|
39
|
+
* can be sent to XMLHttpRequest.send (typically a File). Under node.js,
|
|
40
|
+
* a Buffer, String or ReadStream.
|
|
41
|
+
*
|
|
42
|
+
* @param opts - options object
|
|
43
|
+
*
|
|
44
|
+
* @returns Promise which resolves to response object, or rejects with an error (usually a BriijError).
|
|
45
|
+
* @throws May throw a `MatrixSafetyError` if content is deemed unsafe.
|
|
46
|
+
* @see MatrixSafetyError
|
|
47
|
+
*/
|
|
48
|
+
uploadContent(file) {
|
|
49
|
+
var _opts$includeFilename, _opts$abortController, _opts$type, _opts$name;
|
|
50
|
+
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
51
|
+
var includeFilename = (_opts$includeFilename = opts.includeFilename) !== null && _opts$includeFilename !== void 0 ? _opts$includeFilename : true;
|
|
52
|
+
var abortController = (_opts$abortController = opts.abortController) !== null && _opts$abortController !== void 0 ? _opts$abortController : new AbortController();
|
|
53
|
+
|
|
54
|
+
// If the file doesn't have a mime type, use a default since the HS errors if we don't supply one.
|
|
55
|
+
var contentType = ((_opts$type = opts.type) !== null && _opts$type !== void 0 ? _opts$type : file.type) || "application/octet-stream";
|
|
56
|
+
var fileName = (_opts$name = opts.name) !== null && _opts$name !== void 0 ? _opts$name : file.name;
|
|
57
|
+
var upload = {
|
|
58
|
+
loaded: 0,
|
|
59
|
+
total: 0,
|
|
60
|
+
abortController
|
|
61
|
+
};
|
|
62
|
+
var uploadResolvers = Promise.withResolvers();
|
|
63
|
+
if (globalThis.XMLHttpRequest) {
|
|
64
|
+
var xhr = new globalThis.XMLHttpRequest();
|
|
65
|
+
var timeoutFn = function timeoutFn() {
|
|
66
|
+
xhr.abort();
|
|
67
|
+
uploadResolvers.reject(new Error("Timeout"));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// set an initial timeout of 30s; we'll advance it each time we get a progress notification
|
|
71
|
+
var timeoutTimer = callbacks.setTimeout(timeoutFn, 30000);
|
|
72
|
+
xhr.onreadystatechange = function () {
|
|
73
|
+
switch (xhr.readyState) {
|
|
74
|
+
case globalThis.XMLHttpRequest.DONE:
|
|
75
|
+
callbacks.clearTimeout(timeoutTimer);
|
|
76
|
+
try {
|
|
77
|
+
if (xhr.status === 0) {
|
|
78
|
+
throw new DOMException(xhr.statusText, "AbortError"); // mimic fetch API
|
|
79
|
+
}
|
|
80
|
+
if (!xhr.responseText) {
|
|
81
|
+
throw new Error("No response body.");
|
|
82
|
+
}
|
|
83
|
+
if (xhr.status >= 400) {
|
|
84
|
+
uploadResolvers.reject(parseErrorResponse(xhr, xhr.responseText));
|
|
85
|
+
} else {
|
|
86
|
+
uploadResolvers.resolve(JSON.parse(xhr.responseText));
|
|
87
|
+
}
|
|
88
|
+
} catch (err) {
|
|
89
|
+
if (err.name === "AbortError") {
|
|
90
|
+
uploadResolvers.reject(err);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
uploadResolvers.reject(new ConnectionError("request failed", err));
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
xhr.upload.onprogress = ev => {
|
|
99
|
+
var _opts$progressHandler;
|
|
100
|
+
callbacks.clearTimeout(timeoutTimer);
|
|
101
|
+
upload.loaded = ev.loaded;
|
|
102
|
+
upload.total = ev.total;
|
|
103
|
+
timeoutTimer = callbacks.setTimeout(timeoutFn, 30000);
|
|
104
|
+
(_opts$progressHandler = opts.progressHandler) === null || _opts$progressHandler === void 0 || _opts$progressHandler.call(opts, {
|
|
105
|
+
loaded: ev.loaded,
|
|
106
|
+
total: ev.total
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
var url = this.getUrl("/upload", undefined, MediaPrefix.V3);
|
|
110
|
+
if (includeFilename && fileName) {
|
|
111
|
+
url.searchParams.set("filename", encodeURIComponent(fileName));
|
|
112
|
+
}
|
|
113
|
+
if (!this.opts.useAuthorizationHeader && this.opts.accessToken) {
|
|
114
|
+
url.searchParams.set("access_token", encodeURIComponent(this.opts.accessToken));
|
|
115
|
+
}
|
|
116
|
+
xhr.open(Method.Post, url.href);
|
|
117
|
+
if (this.opts.useAuthorizationHeader && this.opts.accessToken) {
|
|
118
|
+
xhr.setRequestHeader("Authorization", "Bearer " + this.opts.accessToken);
|
|
119
|
+
}
|
|
120
|
+
xhr.setRequestHeader("Content-Type", contentType);
|
|
121
|
+
xhr.send(file);
|
|
122
|
+
abortController.signal.addEventListener("abort", () => {
|
|
123
|
+
xhr.abort();
|
|
124
|
+
});
|
|
125
|
+
} else {
|
|
126
|
+
var queryParams = {};
|
|
127
|
+
if (includeFilename && fileName) {
|
|
128
|
+
queryParams.filename = fileName;
|
|
129
|
+
}
|
|
130
|
+
var headers = {
|
|
131
|
+
"Content-Type": contentType
|
|
132
|
+
};
|
|
133
|
+
this.authedRequest(Method.Post, "/upload", queryParams, file, {
|
|
134
|
+
prefix: MediaPrefix.V3,
|
|
135
|
+
headers,
|
|
136
|
+
abortSignal: abortController.signal
|
|
137
|
+
}).then(uploadResolvers.resolve, uploadResolvers.reject);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// remove the upload from the list on completion
|
|
141
|
+
upload.promise = uploadResolvers.promise.finally(() => {
|
|
142
|
+
removeElement(this.uploads, elem => elem === upload);
|
|
143
|
+
});
|
|
144
|
+
abortController.signal.addEventListener("abort", () => {
|
|
145
|
+
removeElement(this.uploads, elem => elem === upload);
|
|
146
|
+
uploadResolvers.reject(new DOMException("Aborted", "AbortError"));
|
|
147
|
+
});
|
|
148
|
+
this.uploads.push(upload);
|
|
149
|
+
return upload.promise;
|
|
150
|
+
}
|
|
151
|
+
cancelUpload(promise) {
|
|
152
|
+
var upload = this.uploads.find(u => u.promise === promise);
|
|
153
|
+
if (upload) {
|
|
154
|
+
upload.abortController.abort();
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
getCurrentUploads() {
|
|
160
|
+
return this.uploads;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Get the content repository url with query parameters.
|
|
165
|
+
* @returns An object with a 'base', 'path' and 'params' for base URL,
|
|
166
|
+
* path and query parameters respectively.
|
|
167
|
+
*/
|
|
168
|
+
getContentUri() {
|
|
169
|
+
return {
|
|
170
|
+
base: this.opts.baseUrl,
|
|
171
|
+
path: MediaPrefix.V3 + "/upload",
|
|
172
|
+
params: {
|
|
173
|
+
access_token: this.opts.accessToken
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["FetchHttpApi","MediaPrefix","removeElement","callbacks","Method","ConnectionError","parseErrorResponse","BriijHttpApi","constructor","arguments","_defineProperty","uploadContent","file","_opts$includeFilename","_opts$abortController","_opts$type","_opts$name","opts","length","undefined","includeFilename","abortController","AbortController","contentType","type","fileName","name","upload","loaded","total","uploadResolvers","Promise","withResolvers","globalThis","XMLHttpRequest","xhr","timeoutFn","abort","reject","Error","timeoutTimer","setTimeout","onreadystatechange","readyState","DONE","clearTimeout","status","DOMException","statusText","responseText","resolve","JSON","parse","err","onprogress","ev","_opts$progressHandler","progressHandler","call","url","getUrl","V3","searchParams","set","encodeURIComponent","useAuthorizationHeader","accessToken","open","Post","href","setRequestHeader","send","signal","addEventListener","queryParams","filename","headers","authedRequest","prefix","abortSignal","then","promise","finally","uploads","elem","push","cancelUpload","find","u","getCurrentUploads","getContentUri","base","baseUrl","path","params","access_token"],"sources":["../../src/http-api/index.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { FetchHttpApi } from \"./fetch.ts\";\nimport {\n type FileType,\n type IContentUri,\n type IHttpOpts,\n type Upload,\n type UploadOpts,\n type UploadResponse,\n} from \"./interface.ts\";\nimport { MediaPrefix } from \"./prefix.ts\";\nimport { type QueryDict, removeElement } from \"../utils.ts\";\nimport * as callbacks from \"../realtime-callbacks.ts\";\nimport { Method } from \"./method.ts\";\nimport { ConnectionError } from \"./errors.ts\";\nimport { parseErrorResponse } from \"./utils.ts\";\n\nexport * from \"./interface.ts\";\nexport * from \"./prefix.ts\";\nexport * from \"./errors.ts\";\nexport * from \"./method.ts\";\nexport * from \"./utils.ts\";\n\nexport class BriijHttpApi<O extends IHttpOpts> extends FetchHttpApi<O> {\n private uploads: Upload[] = [];\n\n /**\n * Upload content to the homeserver\n *\n * @param file - The object to upload. On a browser, something that\n * can be sent to XMLHttpRequest.send (typically a File). Under node.js,\n * a Buffer, String or ReadStream.\n *\n * @param opts - options object\n *\n * @returns Promise which resolves to response object, or rejects with an error (usually a BriijError).\n * @throws May throw a `MatrixSafetyError` if content is deemed unsafe.\n * @see MatrixSafetyError\n */\n public uploadContent(file: FileType, opts: UploadOpts = {}): Promise<UploadResponse> {\n const includeFilename = opts.includeFilename ?? true;\n const abortController = opts.abortController ?? new AbortController();\n\n // If the file doesn't have a mime type, use a default since the HS errors if we don't supply one.\n const contentType = (opts.type ?? (file as File).type) || \"application/octet-stream\";\n const fileName = opts.name ?? (file as File).name;\n\n const upload = {\n loaded: 0,\n total: 0,\n abortController,\n } as Upload;\n const uploadResolvers = Promise.withResolvers<UploadResponse>();\n\n if (globalThis.XMLHttpRequest) {\n const xhr = new globalThis.XMLHttpRequest();\n\n const timeoutFn = function (): void {\n xhr.abort();\n uploadResolvers.reject(new Error(\"Timeout\"));\n };\n\n // set an initial timeout of 30s; we'll advance it each time we get a progress notification\n let timeoutTimer = callbacks.setTimeout(timeoutFn, 30000);\n\n xhr.onreadystatechange = function (): void {\n switch (xhr.readyState) {\n case globalThis.XMLHttpRequest.DONE:\n callbacks.clearTimeout(timeoutTimer);\n try {\n if (xhr.status === 0) {\n throw new DOMException(xhr.statusText, \"AbortError\"); // mimic fetch API\n }\n if (!xhr.responseText) {\n throw new Error(\"No response body.\");\n }\n\n if (xhr.status >= 400) {\n uploadResolvers.reject(parseErrorResponse(xhr, xhr.responseText));\n } else {\n uploadResolvers.resolve(JSON.parse(xhr.responseText));\n }\n } catch (err) {\n if ((<Error>err).name === \"AbortError\") {\n uploadResolvers.reject(err);\n return;\n }\n uploadResolvers.reject(new ConnectionError(\"request failed\", <Error>err));\n }\n break;\n }\n };\n\n xhr.upload.onprogress = (ev: ProgressEvent): void => {\n callbacks.clearTimeout(timeoutTimer);\n upload.loaded = ev.loaded;\n upload.total = ev.total;\n timeoutTimer = callbacks.setTimeout(timeoutFn, 30000);\n opts.progressHandler?.({\n loaded: ev.loaded,\n total: ev.total,\n });\n };\n\n const url = this.getUrl(\"/upload\", undefined, MediaPrefix.V3);\n\n if (includeFilename && fileName) {\n url.searchParams.set(\"filename\", encodeURIComponent(fileName));\n }\n\n if (!this.opts.useAuthorizationHeader && this.opts.accessToken) {\n url.searchParams.set(\"access_token\", encodeURIComponent(this.opts.accessToken));\n }\n\n xhr.open(Method.Post, url.href);\n if (this.opts.useAuthorizationHeader && this.opts.accessToken) {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + this.opts.accessToken);\n }\n xhr.setRequestHeader(\"Content-Type\", contentType);\n xhr.send(file);\n\n abortController.signal.addEventListener(\"abort\", () => {\n xhr.abort();\n });\n } else {\n const queryParams: QueryDict = {};\n if (includeFilename && fileName) {\n queryParams.filename = fileName;\n }\n\n const headers: Record<string, string> = { \"Content-Type\": contentType };\n\n this.authedRequest<UploadResponse>(Method.Post, \"/upload\", queryParams, file, {\n prefix: MediaPrefix.V3,\n headers,\n abortSignal: abortController.signal,\n }).then(uploadResolvers.resolve, uploadResolvers.reject);\n }\n\n // remove the upload from the list on completion\n upload.promise = uploadResolvers.promise.finally(() => {\n removeElement(this.uploads, (elem) => elem === upload);\n });\n abortController.signal.addEventListener(\"abort\", () => {\n removeElement(this.uploads, (elem) => elem === upload);\n uploadResolvers.reject(new DOMException(\"Aborted\", \"AbortError\"));\n });\n this.uploads.push(upload);\n return upload.promise;\n }\n\n public cancelUpload(promise: Promise<UploadResponse>): boolean {\n const upload = this.uploads.find((u) => u.promise === promise);\n if (upload) {\n upload.abortController.abort();\n return true;\n }\n return false;\n }\n\n public getCurrentUploads(): Upload[] {\n return this.uploads;\n }\n\n /**\n * Get the content repository url with query parameters.\n * @returns An object with a 'base', 'path' and 'params' for base URL,\n * path and query parameters respectively.\n */\n public getContentUri(): IContentUri {\n return {\n base: this.opts.baseUrl,\n path: MediaPrefix.V3 + \"/upload\",\n params: {\n access_token: this.opts.accessToken!,\n },\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|