getSignedURL()

in source/website/src/services/urlsigner.js [4:33]


  getSignedURL(file, config) {
    return new Promise((resolve, reject) => {
      // var fd = new FormData();
      const token = config.token;
      let request = new XMLHttpRequest(),
          signingURL = (typeof config.signingURL === "function") ?  config.signingURL(file) : config.signingURL;
      // console.log('signing URL: ', signingURL)
      request.open("POST", signingURL);
      request.setRequestHeader("Content-Type", "application/json");
      request.setRequestHeader("Authorization", token);
      // console.log(token)
      request.onload = function () {
        if (request.status === 200) {
          resolve(JSON.parse(request.response));
        } else {
          reject((request.statusText));
        }
      };
      request.onerror = function (err) {
        console.error("Network Error : Could not send request to AWS (Maybe CORS errors)");
        reject(err)
      };
      if (config.withCredentials === true) {
        request.withCredentials = true;
      }
      axios.get('/runtimeConfig.json').then(response => {
        request.send("{\"S3Bucket\":\""+response.data.DATAPLANE_BUCKET+"\",\"S3Key\":\""+file.name+"\"}");
      })
    });
  },