Class/Object

io.scalajs.nodejs.http

ClientRequest

Related Docs: object ClientRequest | package http

Permalink

class ClientRequest extends Object with Readable

http.ClientRequest - This object is created internally and returned from http.request(). It represents an in-progress request whose header has already been queued. The header is still mutable using the setHeader(name, value), getHeader(name), removeHeader(name) API. The actual header will be sent along with the first data chunk or when closing the connection.

To get the response, add a listener for 'response' to the request object. 'response' will be emitted from the request object when the response headers have been received. The 'response' event is executed with one argument which is an instance of http.IncomingMessage.

During the 'response' event, one can add listeners to the response object; particularly to listen for the 'data' event. If no 'response' handler is added, then the response will be entirely discarded. However, if you add a 'response' event handler, then you must consume the data from the response object, either by calling response.read() whenever there is a 'readable' event, or by adding a 'data' handler, or by calling the .resume() method. Until the data is consumed, the 'end' event will not fire. Also, until the data is read it will consume memory that can eventually lead to a 'process out of memory' error.

Note: Node.js does not check whether Content-Length and the length of the body which has been transmitted are equal or not.

Annotations
@RawJSType() @native()
Linear Supertypes
Readable, IEventEmitter, Object, Any, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClientRequest
  2. Readable
  3. IEventEmitter
  4. Object
  5. Any
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ClientRequest()

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def _read(size: Int): Unit

    Permalink

    All Readable stream implementations must provide an implementation of the readable._read() method to fetch data from the underlying resource.

    All Readable stream implementations must provide an implementation of the readable._read() method to fetch data from the underlying resource.

    When readable._read() is called, if data is available from the resource, the implementation should begin pushing that data into the read queue using the this.push(dataChunk) method. _read() should continue reading from the resource and pushing data until readable.push() returns false. Only when _read() is called again after it has stopped should it resume pushing additional data onto the queue.

    size

    the number of bytes to read asynchronously

    Definition Classes
    Readable
  5. def _readableState: ReadableState

    Permalink
    Definition Classes
    Readable
  6. def abort(): Unit

    Permalink

    Marks the request as aborting.

    Marks the request as aborting. Calling this will cause remaining data in the response to be dropped and the socket to be destroyed.

    See also

    https://nodejs.org/api/http.html#http_request_abort

  7. def addListener(eventName: String, listener: Function): ClientRequest.this.type

    Permalink

    Alias for emitter.on(eventName, listener).

    Alias for emitter.on(eventName, listener).

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.addListener(eventName, listener)

    See also

    on()

  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. var domain: String

    Permalink
    Definition Classes
    IEventEmitter
  11. def emit(name: String, args: Any*): Any

    Permalink

    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
    Example:
    1. emitter.emit(name[, arg1][, arg2][, ...])

  12. def end(): Unit

    Permalink

    Finishes sending the request.

    Finishes sending the request. If any parts of the body are unsent, it will flush them to the stream. If the request is chunked, this will send the terminating '0\r\n\r\n'.

    See also

    https://nodejs.org/api/http.html#http_request_end_data_encoding_callback

  13. def end(data: Any): Unit

    Permalink

    Finishes sending the request.

    Finishes sending the request. If any parts of the body are unsent, it will flush them to the stream. If the request is chunked, this will send the terminating '0\r\n\r\n'.

    See also

    https://nodejs.org/api/http.html#http_request_end_data_encoding_callback

  14. def end(data: Any, encoding: String): Unit

    Permalink

    Finishes sending the request.

    Finishes sending the request. If any parts of the body are unsent, it will flush them to the stream. If the request is chunked, this will send the terminating '0\r\n\r\n'.

    See also

    https://nodejs.org/api/http.html#http_request_end_data_encoding_callback

  15. def end(data: Any, encoding: String, callback: Function): Unit

    Permalink

    Finishes sending the request.

    Finishes sending the request. If any parts of the body are unsent, it will flush them to the stream. If the request is chunked, this will send the terminating '0\r\n\r\n'.

    See also

    https://nodejs.org/api/http.html#http_request_end_data_encoding_callback

  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def flushHeaders(): Unit

    Permalink

    Flush the request headers.

    Flush the request headers.

    For efficiency reasons, Node.js normally buffers the request headers until you call request.end() or write the first chunk of request data. It then tries hard to pack the request headers and data into a single TCP packet.

    That's usually what you want (it saves a TCP round-trip) but not when the first data isn't sent until possibly much later. request.flushHeaders() lets you bypass the optimization and kickstart the request.

    See also

    https://nodejs.org/api/http.html#http_request_flushheaders

  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def getMaxListeners(): Int

    Permalink

    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
    Example:
    1. emitter.getMaxListeners()

    See also

    setMaxListeners()

  22. def hasOwnProperty(v: String): Boolean

    Permalink
    Definition Classes
    Object
  23. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  24. def headers: Dictionary[String]

    Permalink
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. def isPaused(): Boolean

    Permalink

    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
    Readable
    Example:
    1. readable.isPaused()

  27. def isPrototypeOf(v: Object): Boolean

    Permalink
    Definition Classes
    Object
  28. def listenerCount(eventName: String): Int

    Permalink

    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
    Example:
    1. emitter.listenerCount(eventName)

  29. def listeners(eventName: String): Array[Function]

    Permalink

    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
    Example:
    1. emitter.listeners(eventName)

  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. def on(eventName: String, listener: Function): ClientRequest.this.type

    Permalink

    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
    Example:
    1. emitter.on(eventName, listener)

  34. def once(eventName: String, listener: Function): ClientRequest.this.type

    Permalink

    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
    Example:
    1. emitter.once(eventName, listener)

  35. def pause(): ClientRequest.this.type

    Permalink

    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
    Readable
    Example:
    1. readable.pause()

  36. def pipe(destination: Writable, options: |[ReadablePipeOptions, RawOptions] = js.native): ClientRequest.this.type

    Permalink

    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
    Readable
    Example:
    1. readable.pipe(destination[, options])

  37. def propertyIsEnumerable(v: String): Boolean

    Permalink
    Definition Classes
    Object
  38. def push(chunk: Buffer): Boolean

    Permalink

    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
    Readable
  39. def push(chunk: String, encoding: String = js.native): Boolean

    Permalink

    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
    Readable
  40. def read[T](size: Int = js.native): T

    Permalink

    The read() method pulls some data out of the internal buffer and returns it.

    The read() method pulls some data out of the internal buffer and returns it. If there is no data available, then it will return null.

    If you pass in a size argument, then it will return that many bytes. If size bytes are not available, then it will return null, unless we've ended, in which case it will return the data remaining in the buffer.

    If you do not specify a size argument, then it will return all the data in the internal buffer.

    This method should only be called in paused mode. In flowing mode, this method is called automatically until the internal buffer is drained.

    Definition Classes
    Readable
    Example:
    1. readable.read([size])

  41. def removeAllListeners(): ClientRequest.this.type

    Permalink

    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
    Example:
    1. emitter.removeAllListeners([eventName])

  42. def removeAllListeners(eventName: String): ClientRequest.this.type

    Permalink

    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
    Example:
    1. emitter.removeAllListeners([eventName])

  43. def removeListener(eventName: String, listener: Function): ClientRequest.this.type

    Permalink

    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
    Example:
    1. emitter.removeListener(eventName, listener)

  44. def resume(): ClientRequest.this.type

    Permalink

    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
    Readable
    Example:
    1. readable.resume()

  45. def setEncoding(encoding: String): ClientRequest.this.type

    Permalink

    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
    Readable
    Example:
    1. readable.setEncoding(encoding)

  46. def setMaxListeners(n: Int): ClientRequest.this.type

    Permalink

    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
    Example:
    1. emitter.setMaxListeners(n)

  47. def setNoDelay(): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setNoDelay() will be called.

  48. def setNoDelay(noDelay: Int): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setNoDelay() will be called.

  49. def setSocketKeepAlive(): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    See also

    https://nodejs.org/api/http.html#http_request_setsocketkeepalive_enable_initialdelay

  50. def setSocketKeepAlive(initialDelay: Int): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    See also

    https://nodejs.org/api/http.html#http_request_setsocketkeepalive_enable_initialdelay

  51. def setSocketKeepAlive(enable: Boolean): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    See also

    https://nodejs.org/api/http.html#http_request_setsocketkeepalive_enable_initialdelay

  52. def setSocketKeepAlive(enable: Boolean, initialDelay: Int): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    Once a socket is assigned to this request and is connected socket.setKeepAlive() will be called.

    See also

    https://nodejs.org/api/http.html#http_request_setsocketkeepalive_enable_initialdelay

  53. def setTimeout(timeout: Int): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setTimeout() will be called.

    Once a socket is assigned to this request and is connected socket.setTimeout() will be called.

    • timeout {Number} Milliseconds before a request is considered to be timed out.
    • callback {Function} Optional function to be called when a timeout occurs. Same as binding to the timeout event.
  54. def setTimeout(timeout: Int, callback: Function): Unit

    Permalink

    Once a socket is assigned to this request and is connected socket.setTimeout() will be called.

    Once a socket is assigned to this request and is connected socket.setTimeout() will be called.

    • timeout {Number} Milliseconds before a request is considered to be timed out.
    • callback {Function} Optional function to be called when a timeout occurs. Same as binding to the timeout event.
  55. def socket: Socket

    Permalink
  56. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  57. def toLocaleString(): String

    Permalink
    Definition Classes
    Object
  58. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  59. def unpipe(destination: Writable = js.native): Unit

    Permalink

    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
    Readable
    Example:
    1. readable.unpipe([destination])

  60. def unshift(chunk: Any): Unit

    Permalink

    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
    Readable
    Example:
    1. readable.unshift(chunk)

  61. var usingDomains: Boolean

    Permalink
    Definition Classes
    IEventEmitter
  62. def valueOf(): Any

    Permalink
    Definition Classes
    Object
  63. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  65. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  66. def wrap(stream: Any): Unit

    Permalink

    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
    Readable
    Example:
    1. readable.wrap(stream)

  67. def write(chunk: Any): Unit

    Permalink

    Sends a chunk of the body.

    Sends a chunk of the body. By calling this method many times, the user can stream a request body to a server--in that case it is suggested to use the ['Transfer-Encoding', 'chunked'] header line when creating the request.

    The chunk argument should be a Buffer or a string. The encoding argument is optional and only applies when chunk is a string. Defaults to 'utf8'. The callback argument is optional and will be called when this chunk of data is flushed. Returns request.

  68. def write(chunk: Any, encoding: String): Unit

    Permalink

    Sends a chunk of the body.

    Sends a chunk of the body. By calling this method many times, the user can stream a request body to a server--in that case it is suggested to use the ['Transfer-Encoding', 'chunked'] header line when creating the request.

    The chunk argument should be a Buffer or a string. The encoding argument is optional and only applies when chunk is a string. Defaults to 'utf8'. The callback argument is optional and will be called when this chunk of data is flushed. Returns request.

  69. def write(chunk: Any, encoding: String, callback: Function): Unit

    Permalink

    Sends a chunk of the body.

    Sends a chunk of the body. By calling this method many times, the user can stream a request body to a server--in that case it is suggested to use the ['Transfer-Encoding', 'chunked'] header line when creating the request.

    The chunk argument should be a Buffer or a string. The encoding argument is optional and only applies when chunk is a string. Defaults to 'utf8'. The callback argument is optional and will be called when this chunk of data is flushed. Returns request.

Inherited from Readable

Inherited from IEventEmitter

Inherited from Object

Inherited from Any

Inherited from AnyRef

Inherited from Any

Ungrouped