docs: function RequestStream(requestStream, options) {
  	var self = this;
  	if(!options) options = {};
  	if(options.allowedStatusCodes === undefined) {
  		options.allowedStatusCodes = [200, 201, 202, 203, 204, 205, 206];
  	}
  	if(options.readErrorResponse === undefined) {
  		options.readErrorResponse = true;
  	}
  	ClassicDuplex.call(this, requestStream, options);
  	this._readErrorResponse = !!options.readErrorResponse;
  	this._allowedStatusCodes = options.allowedStatusCodes;
  
  	requestStream.on('response', function(response) {
  		self._currentResponse = response;
  		self.emit('response', response);
  		if(Array.isArray(self._allowedStatusCodes)) {
  			var statusCode = ''+response.statusCode;
  			var statusCodeIsAllowed = false;
  			for(var i = 0; i < self._allowedStatusCodes.length; i++) {
  				if(''+self._allowedStatusCodes[i] === statusCode) {
  					statusCodeIsAllowed = true;
  				}
  			}
  			if(!statusCodeIsAllowed) {
  				self._handleErrorInResponse(response, new Error('Received error status code: ' + statusCode));
  			}
  		}
  	});
  	if(requestStream.method === 'GET') {
  		this._compoundWritable.end();
  	}
  }