Skip to content

Commit 30042f5

Browse files
committed
Fixed an issue where node client was sending some unicode data which broke event submission.
We need to take a closer look into this in the future... nwjs/nw.js#1570 http://stackoverflow.com/questions/10430562/how-do-you-remove-unicode-characters-in-javascript
1 parent 8b667c0 commit 30042f5

File tree

4 files changed

+20
-29
lines changed

4 files changed

+20
-29
lines changed

Diff for: dist/exceptionless.node.js

+8-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: dist/exceptionless.node.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: src/services/NodeEnvironmentInfoCollector.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ export class NodeEnvironmentInfoCollector implements IEnvironmentInfoCollector {
2323
if (!os) {
2424
return null;
2525
}
26-
26+
2727
var environmentInfo: IEnvironmentInfo = {
2828
processor_count: os.cpus().length,
2929
total_physical_memory: os.totalmem(),
3030
available_physical_memory: os.freemem(),
3131
command_line: process.argv.join(' '),
32-
process_name: process.title,
32+
process_name: (process.title || '').replace(/[\uE000-\uF8FF]/g, ''),
3333
process_id: process.pid + '',
3434
process_memory_size: process.memoryUsage().heapTotal,
3535
//thread_id: '',

Diff for: src/submission/NodeSubmissionClient.ts

+9-14
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ export class NodeSubmissionClient extends DefaultSubmissionClient {
1717
}
1818

1919
public sendRequest(config:Configuration, method:string, path:string, data:string, callback: (status:number, message:string, data?:string, headers?:Object) => void): void {
20-
function complete(response:http.IncomingMessage, data:string, headers:Object) {
20+
function complete(response:http.IncomingMessage, responseBody:string, responseHeaders:Object) {
2121
var message:string;
2222
if (response.statusCode === 0) {
2323
message = 'Unable to connect to server.';
2424
} else if (response.statusCode < 200 || response.statusCode > 299) {
2525
message = response.statusMessage || (<any>response).message;
2626
}
2727

28-
callback(response.statusCode || 500, message, data, headers);
28+
callback(response.statusCode || 500, message, responseBody, responseHeaders);
2929
}
3030

3131
var parsedHost = url.parse(config.serverUrl);
@@ -35,7 +35,7 @@ export class NodeSubmissionClient extends DefaultSubmissionClient {
3535
hostname: parsedHost.hostname,
3636
method: method,
3737
port: parsedHost.port && parseInt(parsedHost.port),
38-
path: path,
38+
path: path
3939
};
4040

4141
if (method === 'POST') {
@@ -44,21 +44,16 @@ export class NodeSubmissionClient extends DefaultSubmissionClient {
4444
'Content-Length': data.length
4545
}
4646
}
47-
47+
4848
options.headers['User-Agent'] = config.userAgent;
4949
var request:http.ClientRequest = (parsedHost.protocol === 'https' ? https : http).request(options, (response:http.IncomingMessage) => {
5050
var body = '';
51-
response.on('data', chunk => body += chunk);
52-
response.on('end', () => {
53-
complete(response, body, response.headers);
54-
});
55-
});
56-
57-
request.on('error', function(e) {
58-
callback(500, e.message);
51+
response.setEncoding('utf8');
52+
response.on('data', (chunk) => body += chunk);
53+
response.on('end', () => complete(response, body, response.headers));
5954
});
6055

61-
!!data && request.write(data);
62-
request.end();
56+
request.on('error', (error:Error) => callback(500, error.message));
57+
request.end(data);
6358
}
6459
}

0 commit comments

Comments
 (0)