Browse Source

Merge pull request #1354 from transloadit/fix/validationerror

companion: do not use Uploader instance if options validation failed
Ifedapo .A. Olarewaju 6 years ago
parent
commit
b4045f08fc

+ 4 - 0
packages/@uppy/companion/src/server/Uploader.js

@@ -81,6 +81,10 @@ class Uploader {
     })
   }
 
+  hasError () {
+    return this._errRespMessage != null
+  }
+
   /**
    * returns a substring of the token
    */

+ 6 - 0
packages/@uppy/companion/src/server/controllers/get.js

@@ -35,6 +35,12 @@ function get (req, res) {
       headers: body.headers
     })
 
+    if (uploader.hasError()) {
+      const response = uploader.getResponse()
+      res.status(response.status).json(response.body)
+      return
+    }
+
     // wait till the client has connected to the socket, before starting
     // the download, so that the client can receive all download/upload progress.
     logger.debug('Waiting for socket connection before beginning remote download.')

+ 6 - 0
packages/@uppy/companion/src/server/controllers/url.js

@@ -61,6 +61,12 @@ const get = (req, res) => {
         headers: req.body.headers
       })
 
+      if (uploader.hasError()) {
+        const response = uploader.getResponse()
+        res.status(response.status).json(response.body)
+        return
+      }
+
       logger.debug('Waiting for socket connection before beginning remote download.')
       uploader.onSocketReady(() => {
         logger.debug('Socket connection received. Starting remote download.')