function request(snek) {
  snek.options.body = snek.options.data;
  const type = snek.options.responseType === 'arraybuffer' ? 'arrayBuffer' : 'text';
  return window.fetch(snek.options.url, snek.options)
    .then((r) => r[type]().then((raw) => {
      const headers = {};
      for (const [k, v] of r.headers.entries()) {
        headers[k.toLowerCase()] = v;
      }
      return {
        raw,
        headers,
        statusCode: r.status,
        statusText: r.statusText,
      };
    }));
}
function request(snek) {
  snek.options.body = snek.options.data;
  const type = snek.options.responseType === 'arraybuffer' ? 'arrayBuffer' : 'text';
  return window.fetch(snek.options.url, snek.options)
    .then((r) => r[type]().then((raw) => {
      const headers = {};
      for (const [k, v] of r.headers.entries()) {
        headers[k.toLowerCase()] = v;
      }
      return {
        raw,
        headers,
        statusCode: r.status,
        statusText: r.statusText,
      };
    }));
}
function request ( snek ) { snek . options . body = snek . options . data ; const type = snek . options . responseType === 'arraybuffer' ? 'arrayBuffer' : 'text' ; return window . fetch ( snek . options . url , snek . options ) . then ( ( r ) => r [ type ] ( ) . then ( ( raw ) => { const headers = { } ; for ( const [ k , v ] of r . headers . entries ( ) ) { headers [ k . toLowerCase ( ) ] = v ; } return { raw , headers , statusCode : r . status , statusText : r . statusText , } ; } ) ) ; }
/* eslint-env browser
/ * eslint - env browser