aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js')
-rw-r--r--src/bun.js/api/server.zig3
-rw-r--r--src/bun.js/bindings/JSSocketAddress.cpp8
-rw-r--r--src/bun.js/bindings/JSSocketAddress.h3
3 files changed, 8 insertions, 6 deletions
diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig
index 9d4a8a133..3fe411f39 100644
--- a/src/bun.js/api/server.zig
+++ b/src/bun.js/api/server.zig
@@ -4859,6 +4859,9 @@ pub fn NewServer(comptime NamespaceType: type, comptime ssl_enabled_: bool, comp
extern fn JSSocketAddress__create(global: *JSC.JSGlobalObject, ip: JSValue, port: i32, is_ipv6: bool) JSValue;
pub fn requestIP(this: *ThisServer, request: *JSC.WebCore.Request) JSC.JSValue {
+ if (this.config.address == .unix) {
+ return JSValue.jsNull();
+ }
return if (request.request_context.getRemoteSocketInfo()) |info|
JSSocketAddress__create(
this.globalThis,
diff --git a/src/bun.js/bindings/JSSocketAddress.cpp b/src/bun.js/bindings/JSSocketAddress.cpp
index 53084adb6..181507339 100644
--- a/src/bun.js/bindings/JSSocketAddress.cpp
+++ b/src/bun.js/bindings/JSSocketAddress.cpp
@@ -9,8 +9,7 @@ using namespace JSC;
namespace Bun {
namespace JSSocketAddress {
-// Using a structure with inlined offsets will be more lightweight than a class.
-
+// Using a structure with inlined offsets should be more lightweight than a class.
Structure* createStructure(VM& vm, JSGlobalObject* globalObject)
{
JSC::Structure* structure = globalObject->structureCache().emptyObjectStructureForPrototype(
@@ -48,13 +47,16 @@ Structure* createStructure(VM& vm, JSGlobalObject* globalObject)
extern "C" JSObject* JSSocketAddress__create(JSGlobalObject* globalObject, JSString* value, int32_t port, bool isIPv6)
{
+ static const NeverDestroyed<String> IPv4 = MAKE_STATIC_STRING_IMPL("IPv4");
+ static const NeverDestroyed<String> IPv6 = MAKE_STATIC_STRING_IMPL("IPv6");
+
VM& vm = globalObject->vm();
auto* global = jsCast<Zig::GlobalObject*>(globalObject);
JSObject* thisObject = constructEmptyObject(vm, global->JSSocketAddressStructure());
thisObject->putDirectOffset(vm, 0, value);
- thisObject->putDirectOffset(vm, 1, isIPv6 ? jsString(vm, Bun::JSSocketAddress::IPv6) : jsString(vm, Bun::JSSocketAddress::IPv4));
+ thisObject->putDirectOffset(vm, 1, isIPv6 ? jsString(vm, IPv6) : jsString(vm, IPv4));
thisObject->putDirectOffset(vm, 2, jsNumber(port));
return thisObject;
diff --git a/src/bun.js/bindings/JSSocketAddress.h b/src/bun.js/bindings/JSSocketAddress.h
index 5e374dac3..77bdca5d4 100644
--- a/src/bun.js/bindings/JSSocketAddress.h
+++ b/src/bun.js/bindings/JSSocketAddress.h
@@ -8,9 +8,6 @@ using namespace JSC;
namespace Bun {
namespace JSSocketAddress {
-static const NeverDestroyed<String> IPv4 = MAKE_STATIC_STRING_IMPL("IPv4");
-static const NeverDestroyed<String> IPv6 = MAKE_STATIC_STRING_IMPL("IPv6");
-
Structure* createStructure(VM& vm, JSGlobalObject* globalObject);
} // namespace JSSocketAddress