Make content URL gen safer using builtin URL helper

This commit is contained in:
Dominic Grimm 2022-08-02 20:44:09 +02:00
parent 750f91452b
commit 5ebb7e02a7
2 changed files with 10 additions and 6 deletions

View file

@ -1,5 +1,5 @@
export const API_ROOT_URL = "http://techgames.gnetx.com/infoscreen"; export const API_ROOT_URL = new URL("http://techgames.gnetx.com/infoscreen");
export const CONTENT_ROOT_URL = `${API_ROOT_URL}/listings`; export const CONTENT_ROOT_URL = new URL("/listings", API_ROOT_URL);
export enum ListingType { export enum ListingType {
IMAGE = "IMAGE", IMAGE = "IMAGE",
@ -25,6 +25,6 @@ export async function fetchData(): Promise<Data> {
return await response.json(); return await response.json();
} }
export function generateContentURL(content: string): string { export function generateContentURL(content: string): URL {
return `${CONTENT_ROOT_URL}/${encodeURIComponent(content)}`; return new URL(encodeURIComponent(content), CONTENT_ROOT_URL);
} }

View file

@ -42,7 +42,9 @@
{#if data.listings[listingIndex].type == api.ListingType.IMAGE} {#if data.listings[listingIndex].type == api.ListingType.IMAGE}
<img <img
class="center dynamic-size" class="center dynamic-size"
src={api.generateContentURL(data.listings[listingIndex].content)} src={api
.generateContentURL(data.listings[listingIndex].content)
.toString()}
alt={data.listings[listingIndex].name} alt={data.listings[listingIndex].name}
on:load={() => on:load={() =>
handleTime( handleTime(
@ -63,7 +65,9 @@
on:ended={() => updateListingIndex(data.listings.length)} on:ended={() => updateListingIndex(data.listings.length)}
> >
<source <source
src={api.generateContentURL(data.listings[listingIndex].content)} src={api
.generateContentURL(data.listings[listingIndex].content)
.toString()}
/> />
<track kind="captions" /> <track kind="captions" />
<b class="error">Videos are not supported!</b> <b class="error">Videos are not supported!</b>