aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-09-13 22:29:44 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-09-13 22:29:44 -0700
commitb0598f64ea661274478656a5ed8b696620a7f69c (patch)
treedb7b1bded6a080c6226c8e418dc6b4eb57f1ebd6 /src
parent8721ba7474297850ad8f7ab98e90e8301cef1757 (diff)
downloadbun-b0598f64ea661274478656a5ed8b696620a7f69c.tar.gz
bun-b0598f64ea661274478656a5ed8b696620a7f69c.tar.zst
bun-b0598f64ea661274478656a5ed8b696620a7f69c.zip
Fix crashes when accessing request metadata
Diffstat (limited to 'src')
-rw-r--r--src/javascript/jsc/bindings/headers-cpp.h2
-rw-r--r--src/javascript/jsc/bindings/headers.h2
-rw-r--r--src/javascript/jsc/webcore/response.zig39
3 files changed, 24 insertions, 19 deletions
diff --git a/src/javascript/jsc/bindings/headers-cpp.h b/src/javascript/jsc/bindings/headers-cpp.h
index 0e941988c..759a5aad1 100644
--- a/src/javascript/jsc/bindings/headers-cpp.h
+++ b/src/javascript/jsc/bindings/headers-cpp.h
@@ -1,4 +1,4 @@
-//-- AUTOGENERATED FILE -- 1631342881
+//-- AUTOGENERATED FILE -- 1631593539
// clang-format off
#pragma once
diff --git a/src/javascript/jsc/bindings/headers.h b/src/javascript/jsc/bindings/headers.h
index e7029c777..5a6c010aa 100644
--- a/src/javascript/jsc/bindings/headers.h
+++ b/src/javascript/jsc/bindings/headers.h
@@ -1,4 +1,4 @@
-//-- AUTOGENERATED FILE -- 1631342881
+//-- AUTOGENERATED FILE -- 1631593539
// clang-format: off
#pragma once
diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig
index 31e9d70ff..86b2c41e1 100644
--- a/src/javascript/jsc/webcore/response.zig
+++ b/src/javascript/jsc/webcore/response.zig
@@ -1339,7 +1339,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.default);
+ return js.JSValueMakeString(ctx, ZigString.init(Properties.UTF8.default).toValueGC(VirtualMachine.vm.global).asRef());
}
pub fn getCredentials(
this: *Request,
@@ -1348,7 +1348,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.include);
+ return js.JSValueMakeString(ctx, ZigString.init(Properties.UTF8.include).toValueGC(VirtualMachine.vm.global).asRef());
}
pub fn getDestination(
this: *Request,
@@ -1357,7 +1357,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.empty_string);
+ return js.JSValueMakeString(ctx, ZigString.init("").toValueGC(VirtualMachine.vm.global).asRef());
}
pub fn getHeaders(
this: *Request,
@@ -1379,7 +1379,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.empty_string);
+ return ZigString.Empty.toValueGC(VirtualMachine.vm.global).asRef();
}
pub fn getMethod(
this: *Request,
@@ -1388,16 +1388,17 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- const string_ref = switch (this.request_context.method) {
- .GET => Properties.Refs.GET,
- .HEAD => Properties.Refs.HEAD,
- .PATCH => Properties.Refs.PATCH,
- .PUT => Properties.Refs.PUT,
- .POST => Properties.Refs.POST,
- .OPTIONS => Properties.Refs.OPTIONS,
- else => Properties.Refs.empty_string,
+ const string_contents: string = switch (this.request_context.method) {
+ .GET => Properties.UTF8.GET,
+ .HEAD => Properties.UTF8.HEAD,
+ .PATCH => Properties.UTF8.PATCH,
+ .PUT => Properties.UTF8.PUT,
+ .POST => Properties.UTF8.POST,
+ .OPTIONS => Properties.UTF8.OPTIONS,
+ else => "",
};
- return js.JSValueMakeString(ctx, string_ref);
+
+ return ZigString.init(string_contents).toValueGC(VirtualMachine.vm.global).asRef();
}
pub fn getMode(
@@ -1407,7 +1408,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.navigate);
+ return ZigString.init(Properties.UTF8.navigate).toValueGC(VirtualMachine.vm.global).asRef();
}
pub fn getRedirect(
this: *Request,
@@ -1416,7 +1417,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.follow);
+ return ZigString.init(Properties.UTF8.follow).toValueGC(VirtualMachine.vm.global).asRef();
}
pub fn getReferrer(
this: *Request,
@@ -1425,7 +1426,11 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.empty_string);
+ if (this.request_context.header("Referrer")) |referrer| {
+ return ZigString.init(referrer.value).toValueGC(VirtualMachine.vm.global).asRef();
+ } else {
+ return ZigString.init("").toValueGC(VirtualMachine.vm.global).asRef();
+ }
}
pub fn getReferrerPolicy(
this: *Request,
@@ -1434,7 +1439,7 @@ pub const Request = struct {
prop: js.JSStringRef,
exception: js.ExceptionRef,
) js.JSValueRef {
- return js.JSValueMakeString(ctx, Properties.Refs.empty_string);
+ return ZigString.init("").toValueGC(VirtualMachine.vm.global).asRef();
}
pub fn getUrl(
this: *Request,