// i really need to learn deno emit (or host this publicly so i can reference it with urls) import { randomInt } from "https://deno.land/std@0.146.0/node/internal/crypto/random.ts"; export const pick_random = (xs: readonly T[]): T => xs[randomInt(xs.length)]; Deno.serve({ port: 61262 }, (req: Request) => { const url = new URL(req.url); const links = url.search.replace(/^\?+/, "") .split("::") .filter(Boolean) .map((href) => /^.+:\/\/.+/.test(href) ? href : ("http://" + href)); if (links.length == 0) { return new Response("couldn't get any links man", { status: 400 }); } console.log(links); const chosen = pick_random(links); return new Response(`redirecting you to ${chosen}`, { status: 307, headers: { "Location": chosen }, }); });