Zig
Zig
Duplicate curl POST with JSON Body
See more REST Examples
Demonstrates how to duplicate the following curl command, which sends a POST w/ a JSON body.curl -H "Content-Type: application/json" -i https://my-store.com/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET -d @test_product.txt
Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const rest = try chilkat.Rest.init();
defer rest.deinit();
// Connect using TLS.
const b_auto_reconnect = true;
try rest.connect("my-store.com", 443, true, b_auto_reconnect);
// test_product.txt contains this string:
const sb_json = try chilkat.StringBuilder.init();
defer sb_json.deinit();
sb_json.append("{\"create\": [{\"name\": \"Woo Single #1\",\"type\": \"simple\",\"regular_price\": \"21.99\"}]}") catch {};
// Add query parameters
// Add the Content-Type HTTP request header.
try rest.addHeader("Content-Type", "application/json");
const json_response_str = rest.fullRequestString(alloc, "POST", "/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET", try sb_json.getAsString(alloc)) catch {
std.debug.print("{s}\n", .{try rest.getLastErrorText(alloc)});
return;
};
// Show the JSON response. (See below for a sample JSON response.)
std.debug.print("Json Response: {s}\n", .{json_response_str});
}