From 3b3baf375be63acfd293b1b47a5f49aab4b06a70 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 15 Nov 2022 02:37:38 +0200 Subject: Replace my zig-curl with zelda --- src/Installation.zig | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/Installation.zig') diff --git a/src/Installation.zig b/src/Installation.zig index 4f7a48d..3c056b9 100644 --- a/src/Installation.zig +++ b/src/Installation.zig @@ -1,6 +1,6 @@ -const curl = @import("curl"); const std = @import("std"); const xdg = @import("xdg"); +const zelda = @import("zelda"); const zup = @import("zup"); const Allocator = std.mem.Allocator; @@ -135,13 +135,23 @@ pub fn isInstalled(allocator: Allocator, name: []const u8) !bool { pub fn getAvailableList(config: Config) !Installations { const allocator = config.allocator; - var json_str = try curl.easyDownload(allocator, "https://ziglang.org/download/index.json"); - defer allocator.free(json_str); + var response = try zelda.get(allocator, "https://ziglang.org/download/index.json"); + defer response.deinit(); + + if (response.status_code.group() != .success) { + std.log.err("HTTP Error while getting Zig download index.json: {}", .{response.status_code}); + return error.HttpError; + } + + if (response.body == null) { + std.log.err("No body response while getting Zig download index.json", .{}); + return error.HttpError; + } var parser = std.json.Parser.init(allocator, false); defer parser.deinit(); - var vt = try parser.parse(json_str); + var vt = try parser.parse(response.body.?); defer vt.deinit(); if (vt.root != .Object) { -- cgit v1.2.3