summaryrefslogtreecommitdiff
path: root/packages/backend/src/core
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2025-04-21 14:58:22 +0100
committerdakkar <dakkar@thenautilus.net>2025-04-21 16:44:13 +0100
commitfda71c414727b98ed52eb6a9195b3bbdcfda9054 (patch)
tree949ec13907415d4abf841bc662d2537317bfd5f2 /packages/backend/src/core
parentcheck signatures with and without query - fix #1036 (diff)
downloadsharkey-fda71c414727b98ed52eb6a9195b3bbdcfda9054.tar.gz
sharkey-fda71c414727b98ed52eb6a9195b3bbdcfda9054.tar.bz2
sharkey-fda71c414727b98ed52eb6a9195b3bbdcfda9054.zip
make `toPuny` work better in testing
Diffstat (limited to 'packages/backend/src/core')
-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 81eaa5f95d..9ed8138ffe 100644
--- a/packages/backend/src/core/UtilityService.ts
+++ b/packages/backend/src/core/UtilityService.ts
@@ -106,13 +106,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