AT Protocol-powered Twitpic revival
atproto
express
typescript
photo-sharing
1import { fetch, Agent, setGlobalDispatcher } from "undici";
2
3export async function fetchImage(url: string): Promise<Buffer | any> {
4 const agent = new Agent({ keepAliveTimeout: 10000 });
5 setGlobalDispatcher(agent);
6
7 try {
8 const response = await fetch(url);
9 const data = await response.arrayBuffer();
10
11 if (!data) {
12 return null;
13 } else {
14 return Buffer.from(data).toString("base64");
15 }
16 } catch (e) {
17 return null;
18 }
19}