Fix scope issue when re-using mime parser instance

fork
Brian White 12 years ago
parent b5b0c2b687
commit 61fdef282d

@ -255,13 +255,13 @@ ImapConnection.prototype.connect = function(loginCb) {
self._state.parser = new MIMEParser(); self._state.parser = new MIMEParser();
self._state.parser.on('header', function(name, val) { self._state.parser.on('header', function(name, val) {
name = name.toLowerCase(); name = name.toLowerCase();
if (curReq._msg.headers[name] !== undefined) if (self._state.requests[0]._msg.headers[name] !== undefined)
curReq._msg.headers[name].push(val); self._state.requests[0]._msg.headers[name].push(val);
else else
curReq._msg.headers[name] = [val]; self._state.requests[0]._msg.headers[name] = [val];
}); });
self._state.parser.on('data', function(str) { self._state.parser.on('data', function(str) {
curReq._msg.emit('data', str); self._state.requests[0]._msg.emit('data', str);
}); });
} }
} }

@ -13,12 +13,7 @@ var CR = 13,
REGEXP_FOLD = /\r\n\s+/g; REGEXP_FOLD = /\r\n\s+/g;
var MIMEParser = module.exports = function() { var MIMEParser = module.exports = function() {
this._state = PARSE_HEADER_NAME; this.finish();
this._hdrname = '';
this._hdrval = '';
this._sawCR = false;
this._sawLF = false;
this._needUnfold = false;
}; };
inherits(MIMEParser, EventEmitter); inherits(MIMEParser, EventEmitter);

Loading…
Cancel
Save