Skip to content

Commit c264bfe

Browse files
authored
Merge pull request #49 from codex-team/fix/multipart-data-streaming
fix(fetch): multipart data streaming
2 parents 97044fd + a866430 commit c264bfe

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hawk.so/webpack-plugin",
3-
"version": "1.0.3",
3+
"version": "1.0.4",
44
"description": "Webpack plugin for sending source-maps to the Hawk",
55
"main": "src/index.js",
66
"repository": "https://github.com/codex-team/hawk.webpack.plugin.git",

src/index.js

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class HawkWebpackPlugin {
4747
}) {
4848
this.releaseId = release;
4949
this.releaseInfoFile = releaseInfoFile;
50-
this.requestTimeout = 50;
50+
this.requestTimeout = 5000;
5151
this.removeSourceMaps = removeSourceMaps;
5252

5353
this.integrationToken = integrationToken;
@@ -344,19 +344,39 @@ class HawkWebpackPlugin {
344344
Authorization: `Bearer ${this.integrationToken}`,
345345
...data.getHeaders(),
346346
},
347-
}, (response) => {
347+
});
348+
349+
request.on('response', (response) => {
350+
let body = '';
348351
response.setEncoding('utf8');
349-
response.on('data', (chunk) => {
350-
resolve(chunk);
352+
response.on('data', chunk => body += chunk);
353+
response.on('end', () => {
354+
const statusCode = response.statusCode;
355+
356+
if (typeof statusCode === 'number' && statusCode >= 200 && statusCode < 300) {
357+
resolve(body);
358+
} else {
359+
const error = new Error('Request failed with status code ' + statusCode);
360+
361+
error.statusCode = statusCode;
362+
error.body = body;
363+
reject(error);
364+
}
351365
});
352366
});
353367

354-
request.on('error', (e) => {
355-
reject(e);
356-
});
368+
request.on('error', reject);
369+
370+
data.getLength((err, length) => {
371+
if (err) {
372+
request.destroy(err);
373+
reject(err);
374+
return;
375+
}
357376

358-
request.write(data.getBuffer());
359-
request.end();
377+
request.setHeader('Content-Length', length);
378+
data.pipe(request);
379+
});
360380
});
361381
}
362382

0 commit comments

Comments
 (0)