Sample code for 30+ languages & platforms
Zig

HTTP Session Logging

Demonstrates how to use the SessionLogFilename property to log HTTP requests and responses to a file.

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();

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const http = try chilkat.Http.init();
    defer http.deinit();

    // Set the SessionLogFilename property so that the Chilkat HTTP component
    // logs the exact HTTP requests and responses to a file.

    // The SessionLogFilename may be used with any of the HTTP
    // methods for sending GET, POST, PUT, DELETE, HEAD, etc.
    http.setSessionLogFilename("c:/temp/httpSessionLog.txt");

    // Try a simple HTTP GET and then examine the session log:
    _ = http.quickGetStr(alloc, "http://www.chilkatsoft.com/httpTest/abc.html") catch {
        std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
        return;
    };

    // The contents of the session log file after doing
    // the GET request:

    //     ---- Sending ----
    //     GET /httpTest/abc.html HTTP/1.1
    //     Accept: */*
    //     Accept-Encoding: gzip
    //     Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    //     Accept-Language: en-us,en;q=0.5
    //     Host: www.chilkatsoft.com
    //     Connection: Keep-Alive
    //
    //
    //     ---- Received ----
    //     HTTP/1.1 200 OK
    //     Content-Length: 37
    //     Content-Type: text/html
    //     Last-Modified: Wed, 09 Dec 2009 14:55:08 GMT
    //     Accept-Ranges: bytes
    //     ETag: "4eecd499df78ca1:28b"
    //     Server: Microsoft-IIS/6.0
    //     X-Powered-By: ASP.NET
    //     Date: Wed, 09 Dec 2009 15:15:50 GMT
    //
    //     <html>
    //     <body>
    //     ABC
    //     </body>
    //     </html>
    //
}