]> Untitled Git - lemmy-ui.git/commitdiff
Merge pull request #1468 from alectrocute/env-organize-into-util
authorSleeplessOne1917 <abias1122@gmail.com>
Thu, 22 Jun 2023 13:37:25 +0000 (13:37 +0000)
committerGitHub <noreply@github.com>
Thu, 22 Jun 2023 13:37:25 +0000 (13:37 +0000)
20 files changed:
src/server/handlers/catch-all-handler.tsx
src/server/handlers/manifest-handler.ts
src/server/utils/generate-manifest-json.ts
src/shared/components/common/html-tags.tsx
src/shared/components/post/post-listing.tsx
src/shared/config.ts
src/shared/env.ts [deleted file]
src/shared/services/HttpService.ts
src/shared/services/UserService.ts
src/shared/utils/env/get-base-local.ts [new file with mode: 0644]
src/shared/utils/env/get-external-host.ts [new file with mode: 0644]
src/shared/utils/env/get-host.ts [new file with mode: 0644]
src/shared/utils/env/get-http-base-external.ts [new file with mode: 0644]
src/shared/utils/env/get-http-base-internal.ts [new file with mode: 0644]
src/shared/utils/env/get-http-base.ts [new file with mode: 0644]
src/shared/utils/env/get-internal-host.ts [new file with mode: 0644]
src/shared/utils/env/get-secure.ts [new file with mode: 0644]
src/shared/utils/env/http-external-path.ts [new file with mode: 0644]
src/shared/utils/env/index.ts [new file with mode: 0644]
src/shared/utils/env/is-https.ts [new file with mode: 0644]

index efadee42b52f773f5f7c66b7e259500c028c7c74..f22b8a1734f55ed84475dc3d1bccb30045f9fd43 100644 (file)
@@ -1,4 +1,5 @@
 import { initializeSite, isAuthPath } from "@utils/app";
+import { getHttpBaseInternal } from "@utils/env";
 import { ErrorPageData } from "@utils/types";
 import fetch from "cross-fetch";
 import type { Request, Response } from "express";
@@ -7,7 +8,6 @@ import { renderToString } from "inferno-server";
 import IsomorphicCookie from "isomorphic-cookie";
 import { GetSite, GetSiteResponse, LemmyHttp } from "lemmy-js-client";
 import { App } from "../../shared/components/app/app";
-import { getHttpBaseInternal } from "../../shared/env";
 import {
   InitialFetchRequest,
   IsoDataOptionalSite,
index b9a11089cf4baa096011370781f84da857cda659..c1756f7570661fadad4e532336b1a767c439d5c5 100644 (file)
@@ -1,7 +1,7 @@
+import { getHttpBaseExternal, getHttpBaseInternal } from "@utils/env";
 import fetch from "cross-fetch";
 import type { Request, Response } from "express";
 import { LemmyHttp } from "lemmy-js-client";
-import { getHttpBaseExternal, getHttpBaseInternal } from "../../shared/env";
 import { wrapClient } from "../../shared/services/HttpService";
 import generateManifestJson from "../utils/generate-manifest-json";
 import { setForwardedHeaders } from "../utils/set-forwarded-headers";
index b03fd87bdf385102101396f552a5bdc3708efac9..2f9d8b801c6b48e87572d88f617b412f81a6a86f 100644 (file)
@@ -1,8 +1,8 @@
+import { getHttpBaseExternal } from "@utils/env";
 import { readFile } from "fs/promises";
 import { GetSiteResponse } from "lemmy-js-client";
 import path from "path";
 import sharp from "sharp";
-import { getHttpBaseExternal } from "../../shared/env";
 import { fetchIconPng } from "./fetch-icon-png";
 
 const iconSizes = [72, 96, 128, 144, 152, 192, 384, 512];
index 3a8b270a496d60d85ae325da938c6de263fecdec..5d532589efb62fe2a7c08f2f61ccfa0131a1c468 100644 (file)
@@ -1,7 +1,7 @@
+import { httpExternalPath } from "@utils/env";
 import { htmlToText } from "html-to-text";
 import { Component } from "inferno";
 import { Helmet } from "inferno-helmet";
-import { httpExternalPath } from "../../env";
 import { md } from "../../markdown";
 import { I18NextService } from "../../services";
 
index b9ad5ebc0f428d6b1569e27bc5a3348a6fe006b6..4d0951bb60ae4619da1347b0ead74fc2a7f71b32 100644 (file)
@@ -1,5 +1,6 @@
 import { myAuthRequired, newVote, showScores } from "@utils/app";
 import { canShare, share } from "@utils/browser";
+import { getExternalHost, getHttpBase } from "@utils/env";
 import {
   capitalizeFirstLetter,
   futureDaysToUnixTime,
@@ -43,7 +44,6 @@ import {
   TransferCommunity,
 } from "lemmy-js-client";
 import { relTags } from "../../config";
-import { getExternalHost, getHttpBase } from "../../env";
 import { BanType, PostFormParams, PurgeType, VoteType } from "../../interfaces";
 import { mdNoImages, mdToHtml, mdToHtmlInline } from "../../markdown";
 import { I18NextService, UserService } from "../../services";
index 384e86c321236516dcdca6ebe739ab0433db1ebb..28e8ce5119a5046125e62c4f9b0e98f088926188 100644 (file)
@@ -24,3 +24,5 @@ export const updateUnreadCountsInterval = 30000;
 export const fetchLimit = 40;
 export const relTags = "noopener nofollow";
 export const emDash = "\u2014";
+
+export const testHost = "0.0.0.0:8536";
diff --git a/src/shared/env.ts b/src/shared/env.ts
deleted file mode 100644 (file)
index 287912d..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-import { isBrowser } from "@utils/browser";
-
-const testHost = "0.0.0.0:8536";
-
-function getInternalHost() {
-  return !isBrowser()
-    ? process.env.LEMMY_UI_LEMMY_INTERNAL_HOST ?? testHost
-    : testHost; // used for local dev
-}
-
-export function getExternalHost() {
-  return isBrowser()
-    ? `${window.location.hostname}${
-        ["1234", "1235"].includes(window.location.port)
-          ? ":8536"
-          : window.location.port == ""
-          ? ""
-          : `:${window.location.port}`
-      }`
-    : process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST || testHost;
-}
-
-function getSecure() {
-  return (
-    isBrowser()
-      ? window.location.protocol.includes("https")
-      : process.env.LEMMY_UI_HTTPS === "true"
-  )
-    ? "s"
-    : "";
-}
-
-function getHost() {
-  return isBrowser() ? getExternalHost() : getInternalHost();
-}
-
-function getBaseLocal(s = "") {
-  return `http${s}://${getHost()}`;
-}
-
-export function getHttpBaseInternal() {
-  return getBaseLocal(); // Don't use secure here
-}
-
-export function getHttpBaseExternal() {
-  return `http${getSecure()}://${getExternalHost()}`;
-}
-
-export function getHttpBase() {
-  return getBaseLocal(getSecure());
-}
-
-export function isHttps() {
-  return getSecure() === "s";
-}
-
-console.log(`httpbase: ${getHttpBase()}`);
-console.log(`isHttps: ${isHttps()}`);
-
-// This is for html tags, don't include port
-export function httpExternalPath(path: string) {
-  return `http${getSecure()}://${getExternalHost().replace(
-    /:\d+/g,
-    ""
-  )}${path}`;
-}
index 6f57ecb502b5f77e9e9f1462d7d5f33d1eb97795..361ffbd3f25fec27ce885b7a653f1c6355fe54b0 100644 (file)
@@ -1,5 +1,5 @@
+import { getHttpBase } from "@utils/env";
 import { LemmyHttp } from "lemmy-js-client";
-import { getHttpBase } from "../../shared/env";
 import { toast } from "../../shared/toast";
 import { I18NextService } from "./I18NextService";
 
index df4f00a8bb07b71514cc2e07a82e1c3f4ec6937e..3d08e124d70cae526b97e1ed8295726011604134 100644 (file)
@@ -1,10 +1,10 @@
 // import Cookies from 'js-cookie';
 import { isAuthPath } from "@utils/app";
 import { isBrowser } from "@utils/browser";
+import { isHttps } from "@utils/env";
 import IsomorphicCookie from "isomorphic-cookie";
 import jwt_decode from "jwt-decode";
 import { LoginResponse, MyUserInfo } from "lemmy-js-client";
-import { isHttps } from "../env";
 import { toast } from "../toast";
 import { I18NextService } from "./I18NextService";
 
diff --git a/src/shared/utils/env/get-base-local.ts b/src/shared/utils/env/get-base-local.ts
new file mode 100644 (file)
index 0000000..754d66d
--- /dev/null
@@ -0,0 +1,5 @@
+import { getHost } from "@utils/env";
+
+export default function getBaseLocal(s = "") {
+  return `http${s}://${getHost()}`;
+}
diff --git a/src/shared/utils/env/get-external-host.ts b/src/shared/utils/env/get-external-host.ts
new file mode 100644 (file)
index 0000000..7e2635d
--- /dev/null
@@ -0,0 +1,14 @@
+import { isBrowser } from "@utils/browser";
+import { testHost } from "../../config";
+
+export default function getExternalHost() {
+  return isBrowser()
+    ? `${window.location.hostname}${
+        ["1234", "1235"].includes(window.location.port)
+          ? ":8536"
+          : window.location.port == ""
+          ? ""
+          : `:${window.location.port}`
+      }`
+    : process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST || testHost;
+}
diff --git a/src/shared/utils/env/get-host.ts b/src/shared/utils/env/get-host.ts
new file mode 100644 (file)
index 0000000..0e361ac
--- /dev/null
@@ -0,0 +1,6 @@
+import { isBrowser } from "@utils/browser";
+import { getExternalHost, getInternalHost } from "@utils/env";
+
+export default function getHost() {
+  return isBrowser() ? getExternalHost() : getInternalHost();
+}
diff --git a/src/shared/utils/env/get-http-base-external.ts b/src/shared/utils/env/get-http-base-external.ts
new file mode 100644 (file)
index 0000000..c0ee3bb
--- /dev/null
@@ -0,0 +1,5 @@
+import { getExternalHost, getSecure } from "@utils/env";
+
+export default function getHttpBaseExternal() {
+  return `http${getSecure()}://${getExternalHost()}`;
+}
diff --git a/src/shared/utils/env/get-http-base-internal.ts b/src/shared/utils/env/get-http-base-internal.ts
new file mode 100644 (file)
index 0000000..e30c14c
--- /dev/null
@@ -0,0 +1,5 @@
+import { getBaseLocal } from "@utils/env";
+
+export default function getHttpBaseInternal() {
+  return getBaseLocal(); // Don't use secure here
+}
diff --git a/src/shared/utils/env/get-http-base.ts b/src/shared/utils/env/get-http-base.ts
new file mode 100644 (file)
index 0000000..97fa057
--- /dev/null
@@ -0,0 +1,5 @@
+import { getBaseLocal, getSecure } from "@utils/env";
+
+export default function getHttpBase() {
+  return getBaseLocal(getSecure());
+}
diff --git a/src/shared/utils/env/get-internal-host.ts b/src/shared/utils/env/get-internal-host.ts
new file mode 100644 (file)
index 0000000..ee8fdbd
--- /dev/null
@@ -0,0 +1,8 @@
+import { isBrowser } from "@utils/browser";
+import { testHost } from "../../config";
+
+export default function getInternalHost() {
+  return !isBrowser()
+    ? process.env.LEMMY_UI_LEMMY_INTERNAL_HOST ?? testHost
+    : testHost; // used for local dev
+}
diff --git a/src/shared/utils/env/get-secure.ts b/src/shared/utils/env/get-secure.ts
new file mode 100644 (file)
index 0000000..7e78b4f
--- /dev/null
@@ -0,0 +1,11 @@
+import { isBrowser } from "@utils/browser";
+
+export default function getSecure() {
+  return (
+    isBrowser()
+      ? window.location.protocol.includes("https")
+      : process.env.LEMMY_UI_HTTPS === "true"
+  )
+    ? "s"
+    : "";
+}
diff --git a/src/shared/utils/env/http-external-path.ts b/src/shared/utils/env/http-external-path.ts
new file mode 100644 (file)
index 0000000..f24ccac
--- /dev/null
@@ -0,0 +1,9 @@
+import { getExternalHost, getSecure } from "@utils/env";
+
+// This is for html tags, don't include port
+export default function httpExternalPath(path: string) {
+  return `http${getSecure()}://${getExternalHost().replace(
+    /:\d+/g,
+    ""
+  )}${path}`;
+}
diff --git a/src/shared/utils/env/index.ts b/src/shared/utils/env/index.ts
new file mode 100644 (file)
index 0000000..e14c673
--- /dev/null
@@ -0,0 +1,23 @@
+import getBaseLocal from "./get-base-local";
+import getExternalHost from "./get-external-host";
+import getHost from "./get-host";
+import getHttpBase from "./get-http-base";
+import getHttpBaseExternal from "./get-http-base-external";
+import getHttpBaseInternal from "./get-http-base-internal";
+import getInternalHost from "./get-internal-host";
+import getSecure from "./get-secure";
+import httpExternalPath from "./http-external-path";
+import isHttps from "./is-https";
+
+export {
+  getBaseLocal,
+  getExternalHost,
+  getHost,
+  getHttpBase,
+  getHttpBaseExternal,
+  getHttpBaseInternal,
+  getInternalHost,
+  getSecure,
+  httpExternalPath,
+  isHttps,
+};
diff --git a/src/shared/utils/env/is-https.ts b/src/shared/utils/env/is-https.ts
new file mode 100644 (file)
index 0000000..dd90757
--- /dev/null
@@ -0,0 +1,5 @@
+import { getSecure } from "@utils/env";
+
+export default function isHttps() {
+  return getSecure() === "s";
+}