How to use cross-fetch - 10 common examples

To help you get started, we’ve selected a few cross-fetch examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github okta / okta-auth-js / test / util / util.js View on Github external
} else {
      allPairs.unshift(pair);
    }
  }

  function done() {
    if (allPairs.length !== 0) {
      throw new Error('Not all staged XHRs were executed');
    }
  }

  if (pairs) {
    setNextPair(pairs);
  }

  fetch.mockImplementation(function (url, args) {
    var pair = allPairs.shift();
    if (!pair) {
      throw new Error('We are making a request that we have not anticipated.');
    }

    if (pair.request.withCredentials !== false) {
      // Make sure every request is attaching cookies
      expect(args.credentials).toEqual('include');
    }

    if (pair.request) {
      expect(pair.request.uri).toEqual(url);

      if (pair.request.headers) {
        expect(pair.request.headers).toEqual(args.headers);
      }
github okta / okta-auth-js / test / support / util.js View on Github external
} else {
      allPairs.unshift(pair);
    }
  }

  function done() {
    if (allPairs.length !== 0) {
      throw new Error('Not all staged XHRs were executed');
    }
  }

  if (pairs) {
    setNextPair(pairs);
  }

  fetch.mockImplementation(function (url, args) {
    var pair = allPairs.shift();
    if (!pair) {
      throw new Error('We are making a request that we have not anticipated.');
    }

    if (pair.request.withCredentials !== false) {
      // Make sure every request is attaching cookies
      expect(args.credentials).toEqual('include');
    }

    if (pair.request) {
      expect(pair.request.uri).toEqual(url);

      if (pair.request.headers) {
        expect(pair.request.headers).toEqual(args.headers);
      }
github opencollective / backyourstack / src / lib / github.js View on Github external
branch: branch,
    path,
    withAccessToken: !!accessToken,
  });

  if (repo.private === true) {
    const params = { owner: repo.owner.login, repo: repo.name, path: path };
    // https://octokit.github.io/rest.js/#api-Repos-getContent
    return fetchWithOctokit('repos.getContents', params, accessToken).then(
      getContent,
    );
  }

  const relativeUrl = `/${repo.owner.login}/${repo.name}/${branch}/${path}`;
  logger.verbose(`Fetching file from public repo ${relativeUrl}`);
  return fetch(`${baseRawUrl}${relativeUrl}`).then(response => {
    if (response.status === 200) {
      return response.text();
    }
    throw new Error(`Can't fetch ${path} from ${relativeUrl}.`);
  });
}
github ospfranco / link-preview-js / index.js View on Github external
if (!text) {
      return reject({
        error: 'React-Native-Link-Preview did not receive either a url or text'
      });
    }

    var detectedUrl = null;

    text.replace(/\n/g, ' ').split(' ').forEach(function (token) {
      if (CONSTANTS.REGEX_VALID_URL.test(token) && !detectedUrl) {
        detectedUrl = token;
      }
    });

    if (detectedUrl) {
      fetch(detectedUrl)
        .then(function (response) {

          // get final URL (after any redirects)
          const finalUrl = response.url;

          // get content type of response
          var contentType = response.headers.get('content-type');

          if (!contentType) {
            return reject({ error: 'React-Native-Link-Preview: Could not extract content type for URL.' });
          }
          if (contentType instanceof Array) {
            contentType = contentType[0];
          }

          // parse response depending on content type
github jacktuck / unfurl / dist / index.js View on Github external
async function getPage(url, opts) {
    const res = await cross_fetch_1.default(url, {
        headers: {
            Accept: "text/html, application/xhtml+xml",
            "User-Agent": opts.userAgent
        }
    });
    const buf = Buffer.from(await res.arrayBuffer());
    const contentType = res.headers.get("Content-Type");
    const contentLength = res.headers.get("Content-Length");
    if (/text\/html|application\/xhtml+xml/.test(contentType) === false) {
        throw new unexpectedError_1.default(Object.assign(Object.assign({}, unexpectedError_1.default.EXPECTED_HTML), { info: { contentType, contentLength } }));
    }
    // no charset in content type, peek at response body for at most 1024 bytes
    let str = buf.slice(0, 1024).toString();
    let rg;
    if (contentType) {
        rg = /charset=([^;]*)/i.exec(contentType);
github inaturalist / inaturalist / app / webpack / observations / uploader / models / util.js View on Github external
static isOnline( callback ) {
    // temporary until we have a ping API
    fetch( "/pages/about", {
      method: "head",
      mode: "no-cors",
      cache: "no-store" } ).
    then( ( ) => callback( true ) ).
    catch( ( ) => callback( false ) );
  }
github OriginProtocol / origin / packages / graphql / src / mutations / _txHelper.js View on Github external
async function fetchGasPrice() {
  const res = await fetch(GAS_STATION_URL)
  if (res.status !== 200) {
    throw new Error(`Fetch returned code ${res.status}`)
  }
  const jason = await res.json()
  if (typeof jason[GAS_PRICE_KEY] !== 'undefined') {
    // values come from EGS as tenths of gwei
    return jason[GAS_PRICE_KEY] * 1e8
  }
  throw new Error(`Gas key of ${GAS_PRICE_KEY} is unavailable`)
}
github badgateway / ketting / src / utils / fetch-helper.ts View on Github external
if (init) {
    Object.assign(trueInit, defaultInit, init);
  } else {
    Object.assign(trueInit, defaultInit);
  }

  trueInit.headers = mergeHeaders([
    defaultInit.headers,
    // @ts-ignore cross-fetch definitions are broken. See https://github.com/lquixada/cross-fetch/pull/19
    input instanceof crossFetch.Request ? input.headers : null,
    init && init.headers ? init.headers : null
  ]);

    // @ts-ignore cross-fetch definitions are broken. See https://github.com/lquixada/cross-fetch/pull/19
  return new crossFetch.Request(input, trueInit);

}
github badgateway / ketting / src / resource.js View on Github external
// in newInit.
    if (init) {
      for(var key in init) {
        if (key==='headers') {
          // special case.
          continue;
        }
        newInit[key] = init[key];
      }
      newInit.headers = mergeHeaders([
        newInit.headers,
        init.headers
      ]);
    }

    var request = new fetch.Request(uri, newInit);

    return this.client.fetch(request);

  },
github badgateway / ketting / src / resource.js View on Github external
if (input === undefined) {
      // Nothing was provided, we're operating on the resource uri.
      uri = this.uri;
    } else if (typeof input === 'string') {
      // If it's a string, it might be relative uri so we're resolving it
      // first.
      uri = url.resolve(this.uri, input);

    } else if (input instanceof fetch.Request) {
      // We were passed a request object. We need to extract all its
      // information into the init object.
      uri = url.resolve(this.uri, input.url);

      newInit.method = input.method;
      newInit.headers = new fetch.Headers(input.headers);
      newInit.body = input.body;
      newInit.mode = input.mode;
      newInit.credentials = input.credentials;
      newInit.cache = input.cache;
      newInit.redirect = input.redirect;
      newInit.referrer = input.referrer;
      newInit.integrity = input.integrity;

    } else if (input instanceof Object) {
      // if it was a regular 'object', but not a Request, we're assuming the
      // method was called with the init object as it's first parameter. This
      // is not allowed in the default Fetch API, but we do allow it because
      // in the resource, specifying the uri is optional.
      uri = this.uri;
      newInit = input;
    } else {