Commit 3974a677 authored by Julien Fontanet's avatar Julien Fontanet

feat: sync errors for better stacktraces

parent a0420a0c
...@@ -4,7 +4,7 @@ var bigint = require('./bigint'); ...@@ -4,7 +4,7 @@ var bigint = require('./bigint');
var defaults = { var defaults = {
successCode: 'STATUS_SUCCESS', successCode: 'STATUS_SUCCESS',
parse: function(connection, cb) { parse: function(connection, cb, error) {
var self = this; var self = this;
return function(response) { return function(response) {
...@@ -14,7 +14,7 @@ var defaults = { ...@@ -14,7 +14,7 @@ var defaults = {
self.onSuccess && self.onSuccess(connection, response); self.onSuccess && self.onSuccess(connection, response);
cb && cb(null, self.parseResponse && self.parseResponse(response)); cb && cb(null, self.parseResponse && self.parseResponse(response));
} else { } else {
var error = new Error(MsErref.getErrorMessage(err)); error.message = MsErref.getErrorMessage(err);
error.code = err.code; error.code = err.code;
cb && cb(error); cb && cb(error);
} }
......
...@@ -14,13 +14,20 @@ var SMB2Forge = (module.exports = {}); ...@@ -14,13 +14,20 @@ var SMB2Forge = (module.exports = {});
SMB2Forge.request = function(messageName, params, connection, cb) { SMB2Forge.request = function(messageName, params, connection, cb) {
var msg = require('../messages/' + messageName); var msg = require('../messages/' + messageName);
var smbMessage = msg.generate(connection, params); var smbMessage = msg.generate(connection, params);
// send // send
sendNetBiosMessage(connection, smbMessage); sendNetBiosMessage(connection, smbMessage);
// create an error container synchroneously for better stacktraces
var error = new Error();
error.messageName = messageName;
error.params = params;
// wait for the response // wait for the response
getResponse( getResponse(
connection, connection,
smbMessage.getHeaders().MessageId, smbMessage.getHeaders().MessageId,
msg.parse(connection, cb) msg.parse(connection, cb, error)
); );
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment