class IncomingMessage extends Readable
An IncomingMessage object is created by http.Server or http.ClientRequest and passed as the first argument to the 'request' and 'response' event respectively. It may be used to access response status, headers and data. It implements the Readable Stream interface, as well as the following additional events, methods, and properties.
- Annotations
- @RawJSType() @native() @JSImport("http", "IncomingMessage")
- See also
https://nodejs.org/api/http.html#http_class_http_incomingmessage
- Alphabetic
- By Inheritance
- IncomingMessage
- Readable
- IReadable
- LegacyStream
- IEventEmitter
- Object
- Any
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new IncomingMessage()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addListener(eventName: String, listener: Function): IncomingMessage.this.type
Alias for emitter.on(eventName, listener).
Alias for emitter.on(eventName, listener).
- Definition Classes
- IEventEmitter
emitter.addListener(eventName, listener)
- See also
on()
Example: - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def complete: Boolean
- def destroy(error: Error = js.native): Unit
- def destroyed: Boolean
- Definition Classes
- IReadable
- val domain: String
- Definition Classes
- IEventEmitter
- def emit(name: String, args: Any*): Boolean
Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.
Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.
Returns true if the event had listeners, false otherwise.
- name
the event name
- args
the event arguments
- Definition Classes
- IEventEmitter
emitter.emit(name[, arg1][, arg2][, ...])
Example: - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def eventNames(): Array[String]
- Definition Classes
- IEventEmitter
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getMaxListeners(): Int
Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.
Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.
- Definition Classes
- IEventEmitter
emitter.getMaxListeners()
- See also
setMaxListeners()
Example: - def hasOwnProperty(v: String): Boolean
- Definition Classes
- Object
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def headers: Dictionary[String]
The request/response headers object.
The request/response headers object. Key-value pairs of header names and values. Header names are lower-cased.
message.headers
Example: - def httpVersion: String
In case of server request, the HTTP version sent by the client.
In case of server request, the HTTP version sent by the client. In the case of client response, the HTTP version of the connected-to server. Probably either '1.1' or '1.0'.
message.httpVersion
Example: - final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isPaused(): Boolean
This method returns whether or not the readable has been explicitly paused by client code (using stream.pause() without a corresponding stream.resume()).
This method returns whether or not the readable has been explicitly paused by client code (using stream.pause() without a corresponding stream.resume()).
- Definition Classes
- IReadable
readable.isPaused()
Example: - def isPrototypeOf(v: Object): Boolean
- Definition Classes
- Object
- def listenerCount(eventName: String): Int
Returns the number of listeners listening to the event named eventName.
Returns the number of listeners listening to the event named eventName.
- Definition Classes
- IEventEmitter
emitter.listenerCount(eventName)
Example: - def listeners(eventName: String): Array[Function]
Returns a copy of the array of listeners for the event named eventName.
Returns a copy of the array of listeners for the event named eventName.
- Definition Classes
- IEventEmitter
emitter.listeners(eventName)
Example: - def method: UndefOr[String]
Only valid for request obtained from http.Server.
Only valid for request obtained from http.Server. The request method as a string. Read only. Example: 'GET', 'DELETE'.
message.method
Example: - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def on(eventName: String, listener: Function): IncomingMessage.this.type
Adds the listener function to the end of the listeners array for the event named eventName.
Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.
Returns a reference to the EventEmitter so calls can be chained.
- Definition Classes
- IEventEmitter
emitter.on(eventName, listener)
Example: - def once(eventName: String, listener: Function): IncomingMessage.this.type
Adds a one time listener function for the event named eventName.
Adds a one time listener function for the event named eventName. This listener is invoked only the next time eventName is triggered, after which it is removed.
- Definition Classes
- IEventEmitter
emitter.once(eventName, listener)
Example: - def pause(): IncomingMessage.this.type
This method will cause a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode.
This method will cause a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode. Any data that becomes available will remain in the internal buffer.
- Definition Classes
- IReadable
readable.pause()
Example: - def pipe(destination: IWritable, options: ReadablePipeOptions = js.native): IncomingMessage.this.type
This method pulls all the data out of a readable stream, and writes it to the supplied destination, automatically managing the flow so that the destination is not overwhelmed by a fast readable stream.
This method pulls all the data out of a readable stream, and writes it to the supplied destination, automatically managing the flow so that the destination is not overwhelmed by a fast readable stream. Multiple destinations can be piped to safely.
- Definition Classes
- IReadable
readable.pipe(destination[, options])
Example: - def prependListener(eventName: String, listener: Function): IncomingMessage.this.type
- Definition Classes
- IEventEmitter
- def prependOnceListener(eventName: String, listener: Function): IncomingMessage.this.type
- Definition Classes
- IEventEmitter
- def propertyIsEnumerable(v: String): Boolean
- Definition Classes
- Object
- def push(chunk: Uint8Array): Boolean
When chunk is a Buffer or string, the chunk of data will be added to the internal queue for users of the stream to consume.
When chunk is a Buffer or string, the chunk of data will be added to the internal queue for users of the stream to consume. Passing chunk as null signals the end of the stream (EOF), after which no more data can be written.
When the Readable is operating in paused mode, the data added with readable.push() can be read out by calling the readable.read() method when the 'readable' event is emitted.
When the Readable is operating in flowing mode, the data added with readable.push() will be delivered by emitting a 'data' event.
- chunk
the chunk of data to push into the read queue
- returns
true if additional chunks of data may continued to be pushed; false otherwise.
- Definition Classes
- IReadable
- def push(chunk: String, encoding: String = js.native): Boolean
When chunk is a Buffer or string, the chunk of data will be added to the internal queue for users of the stream to consume.
When chunk is a Buffer or string, the chunk of data will be added to the internal queue for users of the stream to consume. Passing chunk as null signals the end of the stream (EOF), after which no more data can be written.
When the Readable is operating in paused mode, the data added with readable.push() can be read out by calling the readable.read() method when the 'readable' event is emitted.
When the Readable is operating in flowing mode, the data added with readable.push() will be delivered by emitting a 'data' event.
- chunk
the chunk of data to push into the read queue
- encoding
the encoding of String chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'
- returns
true if additional chunks of data may continued to be pushed; false otherwise.
- Definition Classes
- IReadable
- def rawHeaders: Array[String]
The raw request/response headers list exactly as they were received.
The raw request/response headers list exactly as they were received. Note that the keys and values are in the same list. It is not a list of tuples. So, the even-numbered offsets are key values, and the odd-numbered offsets are the associated values. Header names are not lowercased, and duplicates are not merged.
message.rawHeaders
Example: - def rawTrailers: Array[String]
The raw request/response trailer keys and values exactly as they were received.
The raw request/response trailer keys and values exactly as they were received. Only populated at the 'end' event.
message.rawTrailers
Example: - def readAsBuffer(size: Int = js.native): Buffer
- Definition Classes
- IReadable
- Annotations
- @JSName("read")
- def readAsObject(size: Int = js.native): Any
- Definition Classes
- IReadable
- Annotations
- @JSName("read")
- def readAsString(size: Int = js.native): String
- Definition Classes
- IReadable
- Annotations
- @JSName("read")
- def removeAllListeners(eventName: String = js.native): IncomingMessage.this.type
Removes all listeners, or those of the specified eventName.
Removes all listeners, or those of the specified eventName.
Note that it is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).
Returns a reference to the EventEmitter so calls can be chained.
- Definition Classes
- IEventEmitter
emitter.removeAllListeners([eventName])
Example: - def removeListener(eventName: String, listener: Function): IncomingMessage.this.type
Removes the specified listener from the listener array for the event named eventName.
Removes the specified listener from the listener array for the event named eventName. removeListener will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener must be called multiple times to remove each instance.
Note that once an event has been emitted, all listeners attached to it at the time of emitting will be called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them from emit() in progress. Subsequent events will behave as expected.
- Definition Classes
- IEventEmitter
emitter.removeListener(eventName, listener)
Example: - def resume(): IncomingMessage.this.type
This method will cause the readable stream to resume emitting 'data' events.
This method will cause the readable stream to resume emitting 'data' events. This method will switch the stream into flowing mode. If you do not want to consume the data from a stream, but you do want to get to its 'end' event, you can call stream.resume() to open the flow of data.
- Definition Classes
- IReadable
readable.resume()
Example: - def setEncoding(encoding: String): IncomingMessage.this.type
Call this function to cause the stream to return strings of the specified encoding instead of Buffer objects.
Call this function to cause the stream to return strings of the specified encoding instead of Buffer objects. For example, if you do readable.setEncoding('utf8'), then the output data will be interpreted as UTF-8 data, and returned as strings. If you do readable.setEncoding('hex'), then the data will be encoded in hexadecimal string format.
This properly handles multi-byte characters that would otherwise be potentially mangled if you simply pulled the Buffers directly and called buf.toString(encoding) on them. If you want to read the data as strings, always use this method.
Also you can disable any encoding at all with readable.setEncoding(null). This approach is very useful if you deal with binary data or with large multi-byte strings spread out over multiple chunks.
- Definition Classes
- IReadable
readable.setEncoding(encoding)
Example: - def setMaxListeners(n: Int): IncomingMessage.this.type
By default EventEmitters will print a warning if more than 10 listeners are added for a particular event.
By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. Obviously, not all events should be limited to just 10 listeners. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) for to indicate an unlimited number of listeners.
Returns a reference to the EventEmitter so calls can be chained.
- Definition Classes
- IEventEmitter
emitter.setMaxListeners(n)
Example: - def setTimeout(msecs: Double, callback: Function): IncomingMessage.this.type
- def socket: Socket
The net.Socket object associated with the connection.
The net.Socket object associated with the connection. With HTTPS support, use request.socket.getPeerCertificate() to obtain the client's authentication details.
message.socket
Example: - def statusCode: UndefOr[Int]
Only valid for response obtained from http.ClientRequest.
Only valid for response obtained from http.ClientRequest. The 3-digit HTTP response status code (e.g. 404).
message.statusCode
Example: - def statusMessage: UndefOr[String]
Only valid for response obtained from http.ClientRequest.
Only valid for response obtained from http.ClientRequest. The HTTP response status message (reason phrase) (e.g. OK or Internal Server Error).
message.statusMessage
Example: - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toLocaleString(): String
- Definition Classes
- Object
- def toString(): String
- Definition Classes
- AnyRef → Any
- def trailers: Dictionary[Any]
The request/response trailers object.
The request/response trailers object. Only populated at the 'end' event.
message.trailers
Example: - def unpipe(destination: IWritable = js.native): Unit
This method will remove the hooks set up for a previous stream.pipe() call.
This method will remove the hooks set up for a previous stream.pipe() call.
If the destination is not specified, then all pipes are removed.
If the destination is specified, but no pipe is set up for it, then this is a no-op.
- Definition Classes
- IReadable
readable.unpipe([destination])
Example: - def unshift(chunk: |[String, Uint8Array]): Unit
This is useful in certain cases where a stream is being consumed by a parser, which needs to "un-consume" some data that it has optimistically pulled out of the source, so that the stream can be passed on to some other party.
This is useful in certain cases where a stream is being consumed by a parser, which needs to "un-consume" some data that it has optimistically pulled out of the source, so that the stream can be passed on to some other party.
Note that stream.unshift(chunk) cannot be called after the 'end' event has been triggered; a runtime error will be raised.
If you find that you must often call stream.unshift(chunk) in your programs, consider implementing a Transform stream instead.
- Definition Classes
- IReadable
readable.unshift(chunk)
Example: - def url: UndefOr[String]
Only valid for request obtained from http.Server.
Only valid for request obtained from http.Server. Request URL string. This contains only the URL that is present in the actual HTTP request.
message.url
Example: - val usingDomains: Boolean
- Definition Classes
- IEventEmitter
- def valueOf(): Any
- Definition Classes
- Object
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def wrap(stream: LegacyStream): Unit
Versions of Node.js prior to v0.10 had streams that did not implement the entire Streams API as it is today.
Versions of Node.js prior to v0.10 had streams that did not implement the entire Streams API as it is today. (See Compatibility for more information.)
If you are using an older Node.js library that emits 'data' events and has a stream.pause() method that is advisory only, then you can use the wrap() method to create a Readable stream that uses the old stream as its data source.
You will very rarely ever need to call this function, but it exists as a convenience for interacting with old Node.js programs and libraries.
- Definition Classes
- IReadable
readable.wrap(stream)
Example: