Sample code for 30+ languages & platforms
Zig

Disconnect from a REST Server

See more REST Examples

Demonstrates Rest.Disconnect, which closes the current HTTP connection. The argument is the maximum number of milliseconds to wait for the close to complete.

Background. Connections are normally kept alive for reuse. Disconnect is used when an application wants to explicitly release the connection rather than relying on keep-alive or object destruction.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    const rest = try chilkat.Rest.init();
    defer rest.deinit();

    // Connect to the REST server.  The 3rd argument enables TLS (use true for HTTPS on port 443),
    // and the 4th enables automatic reconnection if the connection is dropped between requests.
    const b_tls = true;
    const b_auto_reconnect = true;
    rest.connect("example.com", 443, b_tls, b_auto_reconnect) catch {
        std.debug.print("{s}\n", .{try rest.getLastErrorText(alloc)});
        return;
    };

    const response_text = rest.fullRequestNoBody(alloc, "GET", "/api/status") catch {
        std.debug.print("{s}\n", .{try rest.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("{s}\n", .{response_text});

    // Close the connection.  The argument is the maximum number of milliseconds to wait for the
    // close to complete.
    rest.disconnect(200) catch {
        std.debug.print("The disconnect did not complete within the wait time.\n", .{});
    };

    std.debug.print("Done.\n", .{});
}