import { isBrowser } from "./utils"; const testHost = "localhost:8536"; let internalHost = (!isBrowser() && process.env.LEMMY_INTERNAL_HOST) || testHost; // used for local dev export let externalHost: string; let host: string; let wsHost: string; let secure: string; if (isBrowser()) { // browser const lemmyConfig = typeof window.lemmyConfig !== "undefined" ? window.lemmyConfig : {}; externalHost = `${window.location.hostname}${ ["1234", "1235"].includes(window.location.port) ? ":8536" : window.location.port == "" ? "" : `:${window.location.port}` }`; host = externalHost; wsHost = lemmyConfig.wsHost || host; secure = window.location.protocol == "https:" ? "s" : ""; } else { // server-side externalHost = process.env.LEMMY_EXTERNAL_HOST || testHost; host = internalHost; wsHost = process.env.LEMMY_WS_HOST || host; secure = process.env.LEMMY_HTTPS == "true" ? "s" : ""; } const httpBase = `http://${host}`; // Don't use secure here export const wsUri = `ws${secure}://${wsHost}/api/v2/ws`; export const httpUri = `${httpBase}/api/v2`; export const pictrsUri = `http${secure}://${host}/pictrs/image`; console.log(`httpbase: ${httpBase}`); console.log(`wsUri: ${wsUri}`); // This is for html tags, don't include port const httpExternalUri = `http${secure}://${externalHost.split(":")[0]}`; export function httpExternalPath(path: string) { return `${httpExternalUri}${path}`; }