dom: assume we are using an arena for cookie

This commit is contained in:
Pierre Tachoire
2025-04-11 14:27:08 +02:00
parent c88bc65379
commit 0310192660

View File

@@ -84,15 +84,14 @@ pub const HTMLDocument = struct {
} }
} }
pub fn get_cookie(_: *parser.DocumentHTML, allocator: std.mem.Allocator, userctx: UserContext) ![]const u8 { pub fn get_cookie(_: *parser.DocumentHTML, arena: std.mem.Allocator, userctx: UserContext) ![]const u8 {
var buf: std.ArrayListUnmanaged(u8) = .{}; var buf: std.ArrayListUnmanaged(u8) = .{};
defer buf.deinit(allocator); try userctx.cookie_jar.forRequest(&userctx.url.uri, buf.writer(arena), .{ .navigation = true });
try userctx.cookie_jar.forRequest(&userctx.url.uri, buf.writer(allocator), .{ .navigation = true }); return buf.items;
return buf.toOwnedSlice(allocator);
} }
pub fn set_cookie(_: *parser.DocumentHTML, allocator: std.mem.Allocator, userctx: UserContext, cookie_str: []const u8) ![]const u8 { pub fn set_cookie(_: *parser.DocumentHTML, arena: std.mem.Allocator, userctx: UserContext, cookie_str: []const u8) ![]const u8 {
const c = try Cookie.parse(allocator, &userctx.url.uri, cookie_str); const c = try Cookie.parse(arena, &userctx.url.uri, cookie_str);
try userctx.cookie_jar.add(c, std.time.timestamp()); try userctx.cookie_jar.add(c, std.time.timestamp());
return cookie_str; return cookie_str;