From b0accd35bfc9f30720c6eaab2e7911f69d0a051a Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Wed, 12 Oct 2016 22:28:22 +0200 Subject: [PATCH 1/2] Fix authentication in createRelease() method --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 3d8402d..8f67fb7 100644 --- a/index.js +++ b/index.js @@ -135,7 +135,7 @@ module.exports = { return request({ uri: this.baseUrl, method: 'POST', - auth: this.sentrySettings.auth, + auth: this.generateAuth(), json: true, body: { version: this.sentrySettings.release From b45300c2d5ca89cbcfdef44b52824e397a637577 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Wed, 12 Oct 2016 22:34:08 +0200 Subject: [PATCH 2/2] Upload files via "request" "request" is using "form-data" under the hood and by using it we can reuse the same "auth" settings as everywhere else --- index.js | 37 +++++++++---------------------------- package.json | 3 +-- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/index.js b/index.js index 8f67fb7..db33782 100644 --- a/index.js +++ b/index.js @@ -9,9 +9,7 @@ var urljoin = require("url-join"); var request = require('request-promise'); var path = require('path'); var fs = require('fs'); -var FormData = require('form-data'); var throat = require('throat'); -var url = require('url'); module.exports = { @@ -179,36 +177,19 @@ module.exports = { .then(this._getReleaseFiles.bind(this)); }, _uploadFile: function uploadFile(filePath) { - var sentrySettings = this.sentrySettings; var distDir = this.readConfig('distDir'); - var sentry_url = this.sentrySettings.url; - var urlPath = urljoin(this.releaseUrl, 'files/'); - var host = url.parse(sentry_url).host; - var formData = new FormData(); - formData.append('name', urljoin(this.sentrySettings.publicUrl, filePath)); - var fileName = path.join(distDir, filePath); - var fileSize = fs.statSync(fileName)["size"]; - formData.append('file', fs.createReadStream(fileName), { - knownLength: fileSize - }); - return new Promise(function(resolve, reject) { - formData.submit({ - protocol: 'https:', - host: host, - path: urlPath, - auth: sentrySettings.apiKey + ':' - }, function(error, result) { - if(error) { - reject(error); - } - result.resume(); + var formData = { + name: urljoin(this.sentrySettings.publicUrl, filePath), + file: fs.createReadStream(fileName), + }; - result.on('end', function() { - resolve(); - }); - }); + return request({ + uri: urljoin(this.releaseUrl, 'files/'), + method: 'POST', + auth: this.generateAuth(), + formData: formData }); }, _getReleaseFiles: function getReleaseFiles() { diff --git a/package.json b/package.json index 8e83d0c..321e1b3 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ "dependencies": { "ember-cli-babel": "^5.0.0", "ember-cli-deploy-plugin": "^0.2.0", - "form-data": "^1.0.0-rc3", "glob": "^5.0.14", "request-promise": "^0.4.3", "silent-error": "^1.0.0", @@ -62,4 +61,4 @@ "configPath": "tests/dummy/config", "after": "ember-cli-deploy-revision-data" } -} \ No newline at end of file +}