#Is this how you do a network request to a API?

1 messages · Page 1 of 1 (latest)

dark laurel
#
    const groq_uri = try uri.parse("https://api.groq.com/openai/v1/chat/completions");

    var client = http.Client{ .allocator = allocator };
    defer client.deinit();

    const auth_header = try std.fmt.allocPrint(allocator, "Bearer {s}", .{apiKey});
    defer allocator.free(auth_header);

    const server_header_buffer = try allocator.alloc(u8, 16 * 1024);
    defer allocator.free(server_header_buffer);

    var req = try client.open(.POST, groq_uri, .{
        .server_header_buffer = server_header_buffer,
        .headers = .{
            .content_type = .{ .override = "application/json" },
            .authorization = .{ .override = auth_header },
        },
    });
    defer req.deinit();

    req.transfer_encoding = .{ .content_length = json_buffer.items.len };
    try req.send();
    try req.writeAll(json_buffer.items);
    try req.finish();
    try req.wait();
woeful sedge