diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-08-02 13:30:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-02 13:30:55 -0400 |
commit | b1b33f8beb26f97d91cb282682472c65f6eccae8 (patch) | |
tree | 1a7b5027a0f5208135f856759cb7935beac7911a /ext/mixed/js/audio-system.js | |
parent | a562a1149808b49f60346c82409f292290fbdd77 (diff) |
Fix fetch requests (#708)
* Revert audio fetching functionality to use XMLHttpRequest
* Replace requestJson
* Replace requestJson
* Replace requestJson
* Replace requestJson and requestText
* Fix tests
* Include support for vulgar word searches
* Remove request.js
Diffstat (limited to 'ext/mixed/js/audio-system.js')
-rw-r--r-- | ext/mixed/js/audio-system.js | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/ext/mixed/js/audio-system.js b/ext/mixed/js/audio-system.js index c590b909..fdfb0b10 100644 --- a/ext/mixed/js/audio-system.js +++ b/ext/mixed/js/audio-system.js @@ -169,22 +169,22 @@ class AudioSystem { }); } - async _createAudioBinaryFromUrl(url) { - const response = await fetch(url, { - method: 'GET', - mode: 'no-cors', - cache: 'default', - credentials: 'omit', - redirect: 'follow', - referrerPolicy: 'no-referrer' + _createAudioBinaryFromUrl(url) { + return new Promise((resolve, reject) => { + const xhr = new XMLHttpRequest(); + xhr.responseType = 'arraybuffer'; + xhr.addEventListener('load', async () => { + const arrayBuffer = xhr.response; + if (!await this._isAudioBinaryValid(arrayBuffer)) { + reject(new Error('Could not retrieve audio')); + } else { + resolve(arrayBuffer); + } + }); + xhr.addEventListener('error', () => reject(new Error('Failed to connect'))); + xhr.open('GET', url); + xhr.send(); }); - const arrayBuffer = await response.arrayBuffer(); - - if (!await this._isAudioBinaryValid(arrayBuffer)) { - throw new Error('Could not retrieve audio'); - } - - return arrayBuffer; } _isAudioValid(audio) { |