Sha256: a20eb5f790e96d9e956dacfada26c36ff0a315bc59654f44bc4f918d531932e4

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

const hallwayPrefix = (() => {
  let prefix;

  return () => {
    if (prefix === undefined) {
      const meta = document.querySelector('meta[name="z-hallway-prefix"]');
      prefix = meta ? meta.content : "";
    }
    return prefix;
  };
})();

const fetchJson = (url, options) =>
  fetch(`${hallwayPrefix()}${url}`, {
    headers: {
      Accept: "application/json"
    },
    ...options
  }).then(checkStatus);

const checkStatus = response => {
  if (!response.ok) throw response;
  return response.json();
};

const getErrorMessage = response => {
  if (response.json)
    return response
      .json()
      .catch(error => {
        if (process.env.NODE_ENV !== "production") console.error(error);
        throw `${response.status} - ${response.statusText}`;
      })
      .then(json => {
        if (process.env.NODE_ENV !== "production") console.error(json);
        if (json.csrf) location.reload();
        throw json.message;
      });
  if (process.env.NODE_ENV !== "production") console.error(response);
  throw "Unknown Error";
};

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
zuora_connect_ui-0.10.0 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.9.2 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.9.1 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.9.0 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.8.3 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.8.2 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.8.1 app/assets/javascripts/zuora_connect_ui/fetch.js
zuora_connect_ui-0.8.0 app/assets/javascripts/zuora_connect_ui/fetch.js