justjosias / requestz

HTTP client for Zig 🦎

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Requestz

An HTTP client inspired by httpx and ureq.

Build Status License Requirements

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. πŸŽ‰πŸ»

About

HTTP client for Zig 🦎

License:The Unlicense


Languages

Language:Zig 100.0%