code: function IncomingMessage(relayRequestMessage, relayWebSocket) {
    Stream.Readable.call(this);
    this.socket = relayWebSocket;
    this.connection = relayWebSocket;
  
    this.httpVersionMajor = 1;
    this.httpVersionMinor = 1;
    this.httpVersion = "1.1";
    this.complete = false;
    this.headers = {};
    this.rawHeaders = [];
    this.trailers = {};
    this.rawTrailers = [];
  
    this.readable = true;
  
    this.aborted = false;
  
    this.upgrade = null;
  
    // request (server) only
    this.url = relayRequestMessage.request.requestTarget;
    this.method = relayRequestMessage.request.method;
  
  
    this._consuming = false;
    // flag for when we decide that this message cannot possibly be
    // read by the user, so there's no point continuing to handle it.
    this._dumped = false;
  
    for (var header in relayRequestMessage.request.requestHeaders) { 
           this._addHeaderLine(header, relayRequestMessage.request.requestHeaders[header], this.headers);
     }
  }
docs: /* Abstract base class for ServerRequest and ClientResponse.