diff --git a/lp-net-cache/6ba046812fd9e6b6c7e484ec946c6f2dcc1e6022693e854809c72179a7a486b7.cache b/lp-net-cache/6ba046812fd9e6b6c7e484ec946c6f2dcc1e6022693e854809c72179a7a486b7.cache new file mode 100644 index 00000000..a944dbb8 Binary files /dev/null and b/lp-net-cache/6ba046812fd9e6b6c7e484ec946c6f2dcc1e6022693e854809c72179a7a486b7.cache differ diff --git a/src/browser/HttpClient.zig b/src/browser/HttpClient.zig index ea518f07..e4c7a8f2 100644 --- a/src/browser/HttpClient.zig +++ b/src/browser/HttpClient.zig @@ -316,6 +316,10 @@ pub fn request(self: *Client, req: Request) !void { fn serveFromCache(req: Request, cached: *const CachedResponse) !void { const response = Response.fromCached(req.ctx, cached); + defer switch (cached.data) { + .buffer => |_| {}, + .file => |f| f.file.close(), + }; if (req.start_callback) |cb| { try cb(response); @@ -323,10 +327,6 @@ fn serveFromCache(req: Request, cached: *const CachedResponse) !void { const proceed = try req.header_callback(response); if (!proceed) { - switch (cached.data) { - .buffer => |_| {}, - .file => |f| f.file.close(), - } req.error_callback(req.ctx, error.Abort); return; } @@ -339,7 +339,6 @@ fn serveFromCache(req: Request, cached: *const CachedResponse) !void { }, .file => |f| { const file = f.file; - defer file.close(); var buf: [1024]u8 = undefined; var file_reader = file.reader(&buf);