UNPKG

colyseus.js

Version:

Colyseus Multiplayer SDK for JavaScript/TypeScript

49 lines (47 loc) 1.69 kB
// colyseus.js@0.16.22 /** * Discord Embedded App SDK * https://github.com/colyseus/colyseus/issues/707 * * All URLs must go through the local proxy from * https://<app_id>.discordsays.com/.proxy/<mapped_url>/... * * URL Mapping Examples: * * 1. Using Colyseus Cloud: * - /colyseus/{subdomain} -> {subdomain}.colyseus.cloud * * Example: * const client = new Client("https://xxxx.colyseus.cloud"); * * ------------------------------------------------------------- * * 2. Using `cloudflared` tunnel: * - /colyseus/ -> <your-cloudflared-url>.trycloudflare.com * * Example: * const client = new Client("https://<your-cloudflared-url>.trycloudflare.com"); * * ------------------------------------------------------------- * * 3. Providing a manual /.proxy/your-mapping: * - /your-mapping/ -> your-endpoint.com * * Example: * const client = new Client("/.proxy/your-mapping"); * */ function discordURLBuilder(url) { const localHostname = window?.location?.hostname || "localhost"; const remoteHostnameSplitted = url.hostname.split('.'); const subdomain = (!url.hostname.includes("trycloudflare.com") && // ignore cloudflared subdomains !url.hostname.includes("discordsays.com") && // ignore discordsays.com subdomains remoteHostnameSplitted.length > 2) ? `/${remoteHostnameSplitted[0]}` : ''; return (url.pathname.startsWith("/.proxy")) ? `${url.protocol}//${localHostname}${subdomain}${url.pathname}${url.search}` : `${url.protocol}//${localHostname}/.proxy/colyseus${subdomain}${url.pathname}${url.search}`; } export { discordURLBuilder }; //# sourceMappingURL=discord.mjs.map