From f81f97955ad30830cde97a1693a309c87ce2ae21 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 26 Sep 2023 02:02:54 +0300 Subject: Remove curl --- src/EasyHttp.zig | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/EasyHttp.zig (limited to 'src/EasyHttp.zig') diff --git a/src/EasyHttp.zig b/src/EasyHttp.zig new file mode 100644 index 0000000..197cf9d --- /dev/null +++ b/src/EasyHttp.zig @@ -0,0 +1,32 @@ +const std = @import("std"); + +const Allocator = std.mem.Allocator; +const ArenaAllocator = std.heap.ArenaAllocator; +const Client = std.http.Client; +const Headers = std.http.Headers; +const Reader = Request.Reader; +const Request = Client.Request; +const Uri = std.Uri; + +pub fn get(parent_allocator: Allocator, uri: Uri) ![]u8 { + var arena = ArenaAllocator.init(parent_allocator); + defer arena.deinit(); + + const allocator = arena.allocator(); + + var client = Client{ + .allocator = allocator, + }; + defer client.deinit(); + + var headers = Headers.init(allocator); + defer headers.deinit(); + + var request = try client.request(.GET, uri, headers, .{}); + defer request.deinit(); + + try request.start(); + try request.wait(); + + return request.reader().readAllAlloc(parent_allocator, std.math.maxInt(usize)); +} -- cgit v1.2.3