From cac1110993b4ea1d27ddc9b9928a9627393b983a Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Fri, 2 Feb 2024 15:21:33 +0100 Subject: [PATCH] xhr: add getResponseHeader --- src/xhr/xhr.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/xhr/xhr.zig b/src/xhr/xhr.zig index ce623437..761f60e0 100644 --- a/src/xhr/xhr.zig +++ b/src/xhr/xhr.zig @@ -315,6 +315,10 @@ pub const XMLHttpRequest = struct { return if (self.response_bytes) |v| v else ""; } + pub fn _getResponseHeader(self: *XMLHttpRequest, name: []const u8) ?[]const u8 { + return self.response_headers.getFirstValue(name); + } + // The caller owns the string returned. // TODO change the return type to express the string ownership and let // jsruntime free the string once copied to v8. @@ -371,6 +375,7 @@ pub fn testExecFn( .{ .src = "req.status", .ex = "0" }, .{ .src = "req.statusText", .ex = "" }, .{ .src = "req.getAllResponseHeaders()", .ex = "" }, + .{ .src = "req.getResponseHeader('Content-Type')", .ex = "null" }, .{ .src = "req.responseText", .ex = "" }, .{ .src = "req.send(); nb", .ex = "0" }, @@ -380,6 +385,7 @@ pub fn testExecFn( .{ .src = "nb", .ex = "1" }, .{ .src = "req.status", .ex = "200" }, .{ .src = "req.statusText", .ex = "OK" }, + .{ .src = "req.getResponseHeader('Content-Type')", .ex = "text/html; charset=UTF-8" }, .{ .src = "req.getAllResponseHeaders().length > 1024", .ex = "true" }, .{ .src = "req.responseText.length > 1024", .ex = "true" }, };