title: What is the type of chunks delivered to http.IncomingMessage in NodeJS
body: <p>If using http server functionality of NodeJS, the request is of type <a href="https://nodejs.org/api/http.html#http_http_incomingmessage" rel="nofollow"><code>http.IncomingMessage</code></a> that implements <a href="https://nodejs.org/api/stream.html#stream_class_stream_readable" rel="nofollow"><code>stream.Readable</code></a>.</p>
  
  <p>The data events emitted by <code>Readable</code> can have arguments of type <code>String</code> or <code>Buffer</code>.</p>
  
  <p>For <code>IncomingMessage</code>, I seem to be receiving string arguments for data events. It's unclear to me why, considering that HTTP body data is better represented by <code>Buffer</code>. The documentation, however, doesn't say what would be the type of the argument.</p>
  
  <p>Will the type of the argument always be <code>String</code>, or are there conditions (including the ones that I can control from the program side) when the reader may emit <code>Buffer</code> arguments instead?</p>