aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-09-29 16:17:54 -0700
committerGravatar GitHub <noreply@github.com> 2023-09-29 16:17:54 -0700
commiteddb0078b5c9ff49bf67c0f1b1c2c623f0480b77 (patch)
treeaa7954964d5a79e6d4efe9a149def0e1cfc30f19 /src/bun.js
parentfa7d7bd1e4a701d1f5d3ec89f287f30a2dd0babb (diff)
downloadbun-eddb0078b5c9ff49bf67c0f1b1c2c623f0480b77.tar.gz
bun-eddb0078b5c9ff49bf67c0f1b1c2c623f0480b77.tar.zst
bun-eddb0078b5c9ff49bf67c0f1b1c2c623f0480b77.zip
fix(runtime): followup for `server.requestIP` (#6185)
* fix(runtime): followup for `server.requestIP` * oops * yeah * sure * Update src/deps/libuwsockets.cpp * Update Dockerfile * lol --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
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