summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/UtilityService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-06 11:20:46 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-05-06 11:20:46 -0400
commit95cd19b049804a7a773bdf70b7f72333a38e32be (patch)
tree6591dc241c5c04af0bb07a426b21a9f3f4f76108 /packages/backend/src/core/UtilityService.ts
parentMerge branch 'develop' into merge/2025-03-24 (diff)
parentmerge: remove http/https protocol in uri on masto api (!980) (diff)
downloadsharkey-95cd19b049804a7a773bdf70b7f72333a38e32be.tar.gz
sharkey-95cd19b049804a7a773bdf70b7f72333a38e32be.tar.bz2
sharkey-95cd19b049804a7a773bdf70b7f72333a38e32be.zip
Merge branch 'develop' into merge/2025-03-24
Diffstat (limited to 'packages/backend/src/core/UtilityService.ts')
-rw-r--r--packages/backend/src/core/UtilityService.ts13
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/backend/src/core/UtilityService.ts b/packages/backend/src/core/UtilityService.ts
index 5209cf7a3d..f8d04c0592 100644
--- a/packages/backend/src/core/UtilityService.ts
+++ b/packages/backend/src/core/UtilityService.ts
@@ -116,13 +116,22 @@ export class UtilityService {
@bindThis
public toPuny(host: string): string {
- return domainToASCII(host.toLowerCase());
+ // domainToASCII will return an empty string if we give it a
+ // string like `name:123`, but `host` may well be in that form
+ // (e.g. when testing locally, you'll get `localhost:3000`); split
+ // the port off, and add it back later
+ const hostParts = host.toLowerCase().match(/^(.+?)(:.+)?$/);
+ if (!hostParts) return '';
+ const hostname = hostParts[1];
+ const port = hostParts[2] ?? '';
+
+ return domainToASCII(hostname) + port;
}
@bindThis
public toPunyNullable(host: string | null | undefined): string | null {
if (host == null) return null;
- return domainToASCII(host.toLowerCase());
+ return this.toPuny(host);
}
@bindThis