12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- async function fetchData(url, options) {
- const ADMIN_USERNAME = 'admin';
- const ADMIN_STREAMKEY = 'abc123';
- const { data, method = 'GET', auth = true } = options || {};
- // eslint-disable-next-line no-undef
- const requestOptions = {
- method,
- };
- if (data) {
- requestOptions.body = JSON.stringify(data);
- }
- if (auth && ADMIN_USERNAME && ADMIN_STREAMKEY) {
- const encoded = btoa(`${ADMIN_USERNAME}:${ADMIN_STREAMKEY}`);
- requestOptions.headers = {
- Authorization: `Basic ${encoded}`,
- };
- requestOptions.mode = 'cors';
- requestOptions.credentials = 'include';
- }
- try {
- const response = await fetch(url, requestOptions);
- const json = await response.json();
- if (!response.ok) {
- const message =
- json.message || `An error has occurred: ${response.status}`;
- throw new Error(message);
- }
- return json;
- } catch (error) {
- console.error(error);
- return error;
- // console.log(error)
- // throw new Error(error)
- }
- }
- export default fetchData;
|