У меня есть строка запроса HTTP, из которой мне нужно создать представление объекта.node.js создать объект из строки необработанного HTTP-запроса
Вместо изобретать колесо, я думал о том, использовать внутренний HTTP-анализатор, чтобы получить экземпляр http.IncomingMessage
возможно ли это?
Я так думаю, потому что строка не так сильно отличается от полного потока.
Как это сделать?
Я имел взгляд на исходный код, и они получают запрос анализатор, как следовать
var HTTPParser = process.binding('http_parser').HTTPParser;
var parser = new HTTPParser(HTTPParser.REQUEST)
Редактировать
некоторый прогресс с node.js test
var request = Buffer(raw);
var parser = new HTTPParser(HTTPParser.REQUEST);
parser.execute(request, 0, request.length);
Edit 2
Некоторые eventHandlers пропали без вести (все из них)
parser.onHeadersComplete = function(res) {
console.log('onHeadersComplete');
console.log(res);
};
parser.onBody = function(body) {
console.log('body done');
console.log(body.toString());
}
parser.onMessageComplete = function(res) {
console.log('done');
};
Благодаря
Я обновил свой вопрос. У меня есть строка «GET/HTTP/1.1 \ nHost: localhost \ n \ n», которую мне нужно проанализировать для создания объекта. Результирующий объект должен быть экземпляром [http.IncomingMessage] (http://nodejs.org/api/http.html # http_http_incomingmessage) – PauloASilva
Итак, в чем именно вопрос? – OrangeDog
Полный рабочий процесс до получения объекта IncomingMessage. – PauloASilva