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);
どうしたの?