1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { fetch } from "https://esm.town/v/std/fetch";
export let bbc6MusicSpotifyRedirect = async (req: Request) => {
const response = await fetch("https://6music.sharpshooterlabs.com/");
const html = await response.text();
const rawUrl = html
.match(/https:\/\/open\.spotify\.com[^\s]+ /)[0]
?.slice(0, -3);
console.info(rawUrl);
const { UserAgent } = await import(
"https://deno.land/std@0.198.0/http/user_agent.ts"
);
const userAgent = new UserAgent(req.headers.get("user-agent"));
let url = rawUrl;
const os = userAgent.os.name as string;
console.info("os", os);
const isMobile = os.match(/(android|ios)/i);
console.info("isMobile", isMobile);
if (isMobile)
url = url.replace("/search", "/search/x").replace("/tracks", "");
return Response.redirect(url);
};