From 31bab4cc051acb0273191f7dcce66037732fc4d2 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 1 Apr 2026 08:52:26 -0700 Subject: [PATCH] put in cache before releasing conn --- src/browser/HttpClient.zig | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/browser/HttpClient.zig b/src/browser/HttpClient.zig index fac82d57..b188241a 100644 --- a/src/browser/HttpClient.zig +++ b/src/browser/HttpClient.zig @@ -970,25 +970,22 @@ fn processOneMessage(self: *Client, msg: http.Handles.MultiMessage, transfer: *T } } - // release conn ASAP so that it's available; some done_callbacks - // will load more resources. - transfer.releaseConn(); - - try transfer.req.done_callback(transfer.req.ctx); - if (transfer._pending_cache_metadata) |metadata| { const cache = &self.network.cache.?; + log.debug(.browser, "http cache", .{ .url = transfer.req.url, .metadata = metadata }); - // TODO: Support Vary Keying - const cache_key = transfer.req.url; - - log.debug(.browser, "http cache", .{ .key = cache_key, .metadata = metadata }); cache.put(metadata, body) catch |err| { log.warn(.http, "cache put failed", .{ .err = err }); }; log.debug(.browser, "http.cache.put", .{ .url = transfer.req.url }); } + // release conn ASAP so that it's available; some done_callbacks + // will load more resources. + transfer.releaseConn(); + + try transfer.req.done_callback(transfer.req.ctx); + transfer.req.notification.dispatch(.http_request_done, &.{ .transfer = transfer, });