Node.js HTTPstring
给定一个完整的HTTP消息string,Node.js中是否有设备来parsing它? 基本上我不会使用http.createServer函数。 我已经通过其他方式(ZMQ)已经有完整的HTTP消息,但我需要parsing它,这意味着标题,查询string,后主体等。
而且,相同的function应该能够反转这个过程,即创build一个完整的HTTP响应消息string。 我可以使用和通过不同的运输(ZMQ)。
我知道PHP有Symfony的HTTP基础 (这是我所要求的)。 Node.js中是否有类似的东西?
我发现这个: https : //github.com/joyent/http-parser,但它是在C ++中
你可以在节点内使用http-parser,但是没有很好的logging。 我从testing中提取了以下示例:
var HTTPParser = process.binding('http_parser').HTTPParser, CRLF = '\r\n', request = new Buffer('POST /it HTTP/1.1' + CRLF + 'Content-Type: application/x-www-form-urlencoded' + CRLF + 'Content-Length: 15' + CRLF + CRLF + 'foo=42&bar=1337'), parser = new HTTPParser(HTTPParser.REQUEST), headers = {}, body = ''; parser.onHeadersComplete = function(info) { headers = info; }; parser.onBody = function(b, start, len) { body = b.slice(start, start + len).toString(); }; parser.onMessageComplete = function() { console.log('message complete'); console.log('request method: ' + headers.method); console.log('request body:\n\n ' + body); }; parser.execute(request, 0, request.length);
给出以下输出:
message complete request method: POST request body: foo=42&bar=1337
- 使用Sequelize如何指定要sorting/限制的字段?
- 从文件读取hex数字
- 在同构React应用程序中呈现HTMLstring
- 如果类存在,如何将值放入数组中
- Node.js JavaScript如何在TCP服务器中将asynchronous事件处理程序中的oject数据作为“socket.on”访问?
- 当所有组件都在一个文件中时,Angular App就可以工作,但是当组件在不同的文件中时会引发'nomod'错误
- 如何在Node.js中发送文件之前设置MIMEtypes?
- 无法使用server.js上的node.js连接到数据库
- 如何杀死node.js中的child_process – req.on close