title: The provided value 'moz-chunked-arraybuffer' is not a valid 'responseType
body: <p>first time position a question here.
  I am building an app with react native and expo and I have implemented an audio player that plays from an Icecast stream.</p>
  
  <p>What I'm trying to achieve now is to get the metadata from the icecast stream so I have installed this library: <a href="https://github.com/ghaiklor/icecast-parser" rel="nofollow noreferrer">https://github.com/ghaiklor/icecast-parser</a>.
  However, since it uses the http, events and stream modules form node I installed the following package to get them in react native: <a href="https://github.com/parshap/node-libs-react-native/" rel="nofollow noreferrer">https://github.com/parshap/node-libs-react-native/</a>, which managed to get the parsing library to work.</p>
  
  <p>Now, the issue I'm having is that after the icecast-parser makes the http request for the stream, I get the following errors:</p>
  
  <ul>
  <li>"The provided value 'moz-chunked-arraybuffer' is not a valid 'responseType'."</li>
  <li>"The provided value 'ms-stream' is not a valid 'responseType'."</li>
  </ul>
  
  <p>After reading <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestResponseType" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestResponseType</a> I think the issue is that for some reason the response coming from the request is of that type which is what gives me the error.
  So I'm trying to find if there's a way to transform it or make it work and was wondering if you had an idea or could point me in the right direction?</p>
  
  <p>Here's the part of the code where the error occurs:</p>
  
  <pre><code>_makeRequest () {
    const request = (this.getConfig('url').indexOf('https://') === 0) ? 
    https.request(this.getConfig('url')) : http.request(this.getConfig('url'));
  
    request.setHeader('Icy-MetaData', '1');
    request.setHeader('User-Agent', this.getConfig('userAgent'));
    request.once('socket', function (socket) {
      socket.once('end', this._onSocketEnd.bind(this));
    }.bind(this));
  
    console.log("I get here")
  
    request.once('response', this._onRequestResponse.bind(this));
  
    console.log("I don't get here")
  
    request.once('error', this._onRequestError.bind(this));
    request.end();
  
    return this;
  }
  </code></pre>
  
  <pre><code>_onRequestResponse (response) {
    console.log("not getting here")
  
    const icyMetaInt = response.headers['icy-metaint'];
  
    if (icyMetaInt) {
      const reader = new StreamReader(icyMetaInt);
  
      reader.on('metadata', metadata =&gt; {
        this._destroyResponse(response);
        this._queueNextRequest(this.getConfig('metadataInterval'));
        this.emit('metadata', metadata);
      });
  
      response.pipe(reader);
      this.emit('stream', reader);   
    } else {
      this._destroyResponse(response);
      this._queueNextRequest(this.getConfig('emptyInterval'));
      this.emit('empty');
    }
  
    return this;
  }
  </code></pre>