Thank for answer ๐
MY code:
if (maybe_uuid) |uuid| {
// std.debug.print("UUID: {s}\n", .{uuid});
const maybe_vast_tag = context.vast_repository.get(uuid);
if (maybe_vast_tag) |vast_tag| {
// std.debug.print("Found tag!\n", .{});
var output_buffer = std.ArrayList(u8).init(allocator);
const output_writer = output_buffer.writer();
var query_params_iterator = r.getParamSlices();
const is_gzip_supported = self._is_gzip_supported(r.getHeader("Accept-Encoding"));
if (is_gzip_supported) {
var compressor = try std.compress.gzip.compressor(output_writer, .{.level = .level_6});
try vast_tag.render(
&query_params_iterator,
compressor.writer()
);
try compressor.finish();
} else {
try vast_tag.render(
&query_params_iterator,
output_writer
);
}
// std.debug.print("\n{s}\n", .{rendered_tag});
try r.sendBody(
output_buffer.items
);
r.setStatus(.ok);
return;
}
}
i do not call deinit of anything right now, cus zap reset arena allocator anyway, is it ok?