diff options
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/api/server.zig | 3 | ||||
-rw-r--r-- | src/bun.js/bindings/JSSocketAddress.cpp | 8 | ||||
-rw-r--r-- | src/bun.js/bindings/JSSocketAddress.h | 3 |
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 |