Node.js request object documentation?

This is a pretty simple question, but I did not find anything on Google. I am looking for documentation on the request parameter in Node.js to create a server function, but I could not find anything.

http.createServer(function(request, response){ console.log(JSON.stringify(request)); }); 

Debugging with JSON.stringify () gives me an error that the object is round and the program stops. I saw various things, such as request.url or request.body , but is there a page documenting all the functions and parameters of the request? It seems like it should be easy to find, I just can't find it.

I tried again, and it turns out that just console.log(request) writes all the data from the request. Here it is as a link:

 ondata: [Function], _httpMessage: { domain: null, _events: [Object], _maxListeners: 10, output: [], outputEncodings: [], writable: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: true, _hasBody: true, _trailer: '', finished: false, _hangupClose: false, socket: [Circular], connection: [Circular] } }, connection: { _connecting: false, _handle: { fd: null, writeQueueSize: 0, owner: [Circular], onread: [Function: onread], reading: true }, _readableState: { highWaterMark: 16384, buffer: [], length: 0, pipes: null, pipesCount: 0, flowing: false, ended: false, endEmitted: false, reading: true, calledRead: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, objectMode: false, defaultEncoding: 'utf8', ranOut: false, awaitDrain: 0, readingMore: false, decoder: null, encoding: null }, readable: true, domain: null, _events: { end: [Object], finish: [Function: onSocketFinish], _socketEnd: [Function: onSocketEnd], drain: [Function: ondrain], timeout: [Function], error: [Function], close: [Object] }, _maxListeners: 10, _writableState: { highWaterMark: 16384, objectMode: false, needDrain: false, ending: false, ended: false, finished: false, decodeStrings: false, defaultEncoding: 'utf8', length: 0, writing: false, sync: true, bufferProcessing: false, onwrite: [Function], writecb: null, writelen: 0, buffer: [] }, writable: true, allowHalfOpen: true, onend: [Function], destroyed: false, errorEmitted: false, bytesRead: 357, _bytesDispatched: 0, _pendingData: null, _pendingEncoding: '', server: { domain: null, _events: [Object], _maxListeners: 10, _connections: 1, connections: [Getter/Setter], _handle: [Object], _usingSlaves: false, _slaves: [], allowHalfOpen: true, httpAllowHalfOpen: false, timeout: 120000, _connectionKey: '4:0.0.0.0:1337' }, _idleTimeout: 120000, _idleNext: { _idleNext: [Circular], _idlePrev: [Circular], msecs: 120000, ontimeout: [Function: listOnTimeout] }, _idlePrev: { _idleNext: [Circular], _idlePrev: [Circular], msecs: 120000, ontimeout: [Function: listOnTimeout] }, _idleStart: 1371952289619, parser: { _headers: [], _url: '', onHeaders: [Function: parserOnHeaders], onHeadersComplete: [Function: parserOnHeadersComplete], onBody: [Function: parserOnBody], onMessageComplete: [Function: parserOnMessageComplete], socket: [Circular], incoming: [Circular], maxHeaderPairs: 2000, onIncoming: [Function] }, ondata: [Function], _httpMessage: { domain: null, _events: [Object], _maxListeners: 10, output: [], outputEncodings: [], writable: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: true, _hasBody: true, _trailer: '', finished: false, _hangupClose: false, socket: [Circular], connection: [Circular] } }, httpVersion: '1.1', complete: false, headers: { host: 'localhost:1337', connection: 'keep-alive', 'cache-control': 'max-age=0', accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36', 'accept-encoding': 'gzip,deflate,sdch', 'accept-language': 'en-US,en;q=0.8,ja;q=0.6' }, trailers: {}, _pendings: [], _pendingIndex: 0, url: '/', method: 'GET', statusCode: null, client: { _connecting: false, _handle: { fd: null, writeQueueSize: 0, owner: [Circular], onread: [Function: onread], reading: true }, _readableState: { highWaterMark: 16384, buffer: [], length: 0, pipes: null, pipesCount: 0, flowing: false, ended: false, endEmitted: false, reading: true, calledRead: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, objectMode: false, defaultEncoding: 'utf8', ranOut: false, awaitDrain: 0, readingMore: false, decoder: null, encoding: null }, readable: true, domain: null, _events: { end: [Object], finish: [Function: onSocketFinish], _socketEnd: [Function: onSocketEnd], drain: [Function: ondrain], timeout: [Function], error: [Function], close: [Object] }, _maxListeners: 10, _writableState: { highWaterMark: 16384, objectMode: false, needDrain: false, ending: false, ended: false, finished: false, decodeStrings: false, defaultEncoding: 'utf8', length: 0, writing: false, sync: true, bufferProcessing: false, onwrite: [Function], writecb: null, writelen: 0, buffer: [] }, writable: true, allowHalfOpen: true, onend: [Function], destroyed: false, errorEmitted: false, bytesRead: 357, _bytesDispatched: 0, _pendingData: null, _pendingEncoding: '', server: { domain: null, _events: [Object], _maxListeners: 10, _connections: 1, connections: [Getter/Setter], _handle: [Object], _usingSlaves: false, _slaves: [], allowHalfOpen: true, httpAllowHalfOpen: false, timeout: 120000, _connectionKey: '4:0.0.0.0:1337' }, _idleTimeout: 120000, _idleNext: { _idleNext: [Circular], _idlePrev: [Circular], msecs: 120000, ontimeout: [Function: listOnTimeout] }, _idlePrev: { _idleNext: [Circular], _idlePrev: [Circular], msecs: 120000, ontimeout: [Function: listOnTimeout] }, _idleStart: 1371952289619, parser: { _headers: [], _url: '', onHeaders: [Function: parserOnHeaders], onHeadersComplete: [Function: parserOnHeadersComplete], onBody: [Function: parserOnBody], onMessageComplete: [Function: parserOnMessageComplete], socket: [Circular], incoming: [Circular], maxHeaderPairs: 2000, onIncoming: [Function] }, ondata: [Function], _httpMessage: { domain: null, _events: [Object], _maxListeners: 10, output: [], outputEncodings: [], writable: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: true, _hasBody: true, _trailer: '', finished: false, _hangupClose: false, socket: [Circular], connection: [Circular] } }, _consuming: false, _dumped: false, httpVersionMajor: 1, httpVersionMinor: 1, upgrade: false } 
+67
documentation request
Jun 22 '13 at 2:00
source share
3 answers

I am not sure if this is the correct answer as it seems simple to me, but have you looked at http://nodejs.org/api/http.html#http_http_incomingmessage ?

A request is an instance of the specified object. By the way, if you really want to see what is โ€œbrute forceโ€ inside this object, you should not parse it, since it will not be a JSON string at all, but instead do something like:

 for (i in request) { //Your code here } 

Hope this helps.

+22
Jun 22 '13 at 14:21
source share

Just add, as a relative newbie to Node.js, I am confused that each infrastructure has its own implementation of the request object.

For example,

Express: http://expressjs.com/api.html#req.param

and

Hapi: http://spumko.imtqy.com/resource/api/#request-object (just to note that the raw request object is still available in request.raw.req)

Some libraries assume the Express '' req.param method and do not work when used in non-express projects.

+8
Dec 11 '13 at 19:39
source share

I agree with Delio, the Request object is of type IncomingMessage created by http.ClientRequest.

+6
Nov 13 '13 at 2:32
source share



All Articles