mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-04-01 18:06:46 +00:00
put in cache before releasing conn
This commit is contained in:
@@ -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,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user