From 12487011d20e3ac61c57582a482816f9117936c6 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Sat, 3 Oct 2020 23:07:37 -0700 Subject: [PATCH] Handle auth + cors --- web/pages/index2.tsx | 6 +++--- web/pages/utils/apis.ts | 38 ++++++++++++++++++++------------------ 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/web/pages/index2.tsx b/web/pages/index2.tsx index bb35f0dc3..6bc25988c 100644 --- a/web/pages/index2.tsx +++ b/web/pages/index2.tsx @@ -3,7 +3,7 @@ import { BROADCASTER, fetchData } from './utils/apis'; export default function Admin() { const [broadcasterStatus, setBroadcasterStatus] = useState({}); - let getStatusIntervalId = null; + const getStatusIntervalId = null; const getBroadcastStatus = async () => { @@ -12,7 +12,8 @@ export default function Admin() { const active = !!result.broadcaster; setBroadcasterStatus({ ...result, active }); - } catch(error) { + } catch (error) { + setBroadcasterStatus({ ...broadcasterStatus, message: error.message }); }; @@ -22,7 +23,6 @@ export default function Admin() { useEffect(() => { getBroadcastStatus(); }, []); - console.log("============",broadcasterStatus) // getStatusIntervalId = setInterval(getBroadcastStatus, 15000); return (
diff --git a/web/pages/utils/apis.ts b/web/pages/utils/apis.ts index 30ffd327d..90b478570 100644 --- a/web/pages/utils/apis.ts +++ b/web/pages/utils/apis.ts @@ -31,29 +31,31 @@ export const HARDWARE_STATS = `${API_LOCATION}hardwarestats`; // export const STREAM_STATUS = '/api/status'; export async function fetchData(url) { - const headers = new Headers(); const encoded = btoa(`${ADMIN_USERNAME}:${ADMIN_STREAMKEY}`); - // headers.set('Authorization', `Basic ${encoded}`); - console.log({encoded}, `${ADMIN_USERNAME}:${ADMIN_STREAMKEY}`) + try { + const response = await fetch(url, { + headers: { + 'Authorization': `Basic ${encoded}`, + }, + mode: 'cors', + credentials: 'include', + }); + // waits until the request completes... + // console.log(response); - const response = await fetch(url, { - headers: { - 'Authorization': `Basic ${encoded}`, - 'Credentials': 'include', - }, - mode: 'no-cors', - }); - // waits until the request completes... - // console.log(response); + if (!response.ok) { + console.log(response) + const message = `An error has occured: ${response.status}`; + throw new Error(message); + } - if (!response.ok) { - const message = `An error has occured: ${response.status}`; - throw new Error(message); + const json = await response.json(); + console.log(json) + return json; + } catch (error) { + console.log(error) } - - const json = await response.json(); - return json; } // fetch error cases