Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { fetch } from "https://esm.town/v/std/fetch";
import { normalizeURL } from "https://esm.town/v/stevekrouse/normalizeURL?v=3";
export const fetchTextWithEncoding = async (
url: string,
options?: RequestInit & {
/**
* default "utf8"
*/
encoding?: string;
},
) => {
const f = await fetch(normalizeURL(url), {
redirect: "follow",
...options,
});
const buf = await f.arrayBuffer();
try {
return new TextDecoder(options?.encoding || "utf8").decode(buf);
}
catch (e) {
throw new Error(`fetchTextWithEncoding error: ${e.message} in ${url}`);
}
};
October 23, 2023