我在 Node.js v0.8.15 中使用 HTTPParser。不幸的是,一些回调永远不会被调用。
例如,以下代码仅调用onHeadersComplete
. 无法让它调用onURL
,onHeaderField
并且onHeaderValue
。
var
HTTPParser = process.binding('http_parser').HTTPParser,
parser = new HTTPParser(HTTPParser.REQUEST),
request = new Buffer(
'GET /test HTTP/1.1\r\n' +
'Host: www.example.com\r\n' +
'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/17.0 Firefox/17.0\r\n' +
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n' +
'Accept-Language: en-US,en;q=0.5\r\n' +
'Accept-Encoding: gzip, deflate\r\n' +
'\r\n'
);
parser.onURL = function() {
console.log('onURL');
}
parser.onHeaderField = function() {
console.log('onHeaderField');
}
parser.onHeaderValue = function() {
console.log('onHeaderValue');
}
parser.onHeadersComplete = function() {
console.log('onHeadersComplete');
}
parser.execute(request, 0, request.length);
怎么了?