Requestz
An HTTP client inspired by httpx and ureq.
Usage
Send a GET request
const client = @import("requestz.zig").Client;
var client = try Client.init(std.testing.allocator);
defer client.deinit();
var response = try client.get("http://httpbin.org/get", .{});
defer response.deinit();
Send a request with headers
const Headers = @import("http").Headers;
var headers = Headers.init(std.testing.allocator);
defer headers.deinit();
try headers.append("Gotta-go", "Fast!");
var response = try client.get("http://httpbin.org/get", .{ .headers = headers.items() });
defer response.deinit();
Send a request with compile-time headers
var headers = .{
.{"Gotta-go", "Fast!"}
};
var response = try client.get("http://httpbin.org/get", .{ .headers = headers });
defer response.deinit();
Send binary data along with a POST request
var response = try client.post("http://httpbin.org/post", .{ .content = "Gotta go fast!" });
defer response.deinit();
var tree = try response.json();
defer tree.deinit();
Other standard HTTP method shortcuts:
client.connect
client.delete
client.head
client.options
client.patch
client.put
client.trace
Requirements
To work with requestz you will need the latest stable version of Zig, which is currently Zig 0.7.0.
License
requestz is released into the Public Domain.