From 8b3f36c1f82b9594b74ac231d7393c7db519c137 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Sat, 1 Nov 2025 20:25:41 +0800 Subject: [PATCH] url/location host getter --- src/browser/URL.zig | 2 +- src/browser/webapi/Location.zig | 5 +++++ src/browser/webapi/URL.zig | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/browser/URL.zig b/src/browser/URL.zig index da031949..d1b4d609 100644 --- a/src/browser/URL.zig +++ b/src/browser/URL.zig @@ -233,7 +233,7 @@ fn getUserInfo(raw: [:0]const u8) ?[]const u8 { return null; } -fn getHost(raw: [:0]const u8) []const u8 { +pub fn getHost(raw: [:0]const u8) []const u8 { const scheme_end = std.mem.indexOf(u8, raw, "://") orelse return ""; var authority_start = scheme_end + 3; diff --git a/src/browser/webapi/Location.zig b/src/browser/webapi/Location.zig index 85c3559a..3b9ed58d 100644 --- a/src/browser/webapi/Location.zig +++ b/src/browser/webapi/Location.zig @@ -26,6 +26,10 @@ pub fn getHostname(self: *const Location) []const u8 { return self._url.getHostname(); } +pub fn getHost(self: *const Location) []const u8 { + return self._url.getHost(); +} + pub fn getPort(self: *const Location) []const u8 { return self._url.getPort(); } @@ -61,6 +65,7 @@ pub const JsApi = struct { pub const hash = bridge.accessor(Location.getHash, null, .{}); pub const pathname = bridge.accessor(Location.getPathname, null, .{}); pub const hostname = bridge.accessor(Location.getHostname, null, .{}); + pub const host = bridge.accessor(URL.getHost, null, .{}); pub const port = bridge.accessor(Location.getPort, null, .{}); pub const origin = bridge.accessor(Location.getOrigin, null, .{}); pub const protocol = bridge.accessor(Location.getProtocol, null, .{}); diff --git a/src/browser/webapi/URL.zig b/src/browser/webapi/URL.zig index d7bf0d7d..32ca1759 100644 --- a/src/browser/webapi/URL.zig +++ b/src/browser/webapi/URL.zig @@ -62,6 +62,10 @@ pub fn getHostname(self: *const URL) []const u8 { return U.getHostname(self._raw); } +pub fn getHost(self: *const URL) []const u8 { + return U.getHost(self._raw); +} + pub fn getPort(self: *const URL) []const u8 { return U.getPort(self._raw); } @@ -180,6 +184,7 @@ pub const JsApi = struct { pub const username = bridge.accessor(URL.getUsername, null, .{}); pub const password = bridge.accessor(URL.getPassword, null, .{}); pub const hostname = bridge.accessor(URL.getHostname, null, .{}); + pub const host = bridge.accessor(URL.getHost, null, .{}); pub const port = bridge.accessor(URL.getPort, null, .{}); pub const origin = bridge.accessor(URL.getOrigin, null, .{}); pub const protocol = bridge.accessor(URL.getProtocol, null, .{});