aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/URLDecomposition.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings/URLDecomposition.cpp')
-rw-r--r--src/bun.js/bindings/URLDecomposition.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/bun.js/bindings/URLDecomposition.cpp b/src/bun.js/bindings/URLDecomposition.cpp
index 84e734528..f13d6b093 100644
--- a/src/bun.js/bindings/URLDecomposition.cpp
+++ b/src/bun.js/bindings/URLDecomposition.cpp
@@ -31,7 +31,21 @@ namespace WebCore {
String URLDecomposition::origin() const
{
- return fullURL().hostAndPort();
+ auto fullURL = this->fullURL();
+ auto protocol = fullURL.protocol();
+ auto host = fullURL.host();
+ auto port = fullURL.port();
+
+ if (protocol == "file"_s)
+ return "file://"_s;
+
+ if (protocol.isEmpty() && host.isEmpty())
+ return {};
+
+ if (!port)
+ return makeString(protocol, "://", host);
+
+ return makeString(protocol, "://", host, ':', static_cast<uint32_t>(*port));
}
String URLDecomposition::protocol() const