|
@@ -456,6 +456,8 @@ export default class Tus extends BasePlugin {
|
|
|
return res.token
|
|
|
}
|
|
|
|
|
|
+ // NOTE! Keep this duplicated code in sync with other plugins
|
|
|
+ // TODO we should probably abstract this into a common function
|
|
|
/**
|
|
|
* @param {UppyFile} file for use with upload
|
|
|
* @returns {Promise<void>}
|
|
@@ -470,15 +472,16 @@ export default class Tus extends BasePlugin {
|
|
|
|
|
|
try {
|
|
|
if (file.serverToken) {
|
|
|
- return this.connectToServerSocket(file)
|
|
|
+ return await this.connectToServerSocket(file)
|
|
|
}
|
|
|
const serverToken = await this.#queueRequestSocketToken(file)
|
|
|
|
|
|
if (!this.uppy.getState().files[file.id]) return undefined
|
|
|
|
|
|
this.uppy.setFileState(file.id, { serverToken })
|
|
|
- return this.connectToServerSocket(this.uppy.getFile(file.id))
|
|
|
+ return await this.connectToServerSocket(this.uppy.getFile(file.id))
|
|
|
} catch (err) {
|
|
|
+ this.uppy.setFileState(file.id, { serverToken: undefined })
|
|
|
this.uppy.emit('upload-error', file, err)
|
|
|
throw err
|
|
|
}
|
|
@@ -492,7 +495,7 @@ export default class Tus extends BasePlugin {
|
|
|
*
|
|
|
* @param {UppyFile} file
|
|
|
*/
|
|
|
- connectToServerSocket (file) {
|
|
|
+ async connectToServerSocket (file) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
const token = file.serverToken
|
|
|
const host = getSocketHost(file.remote.companionUrl)
|