Zig
Zig
HTTP Session Logging
Demonstrates how to use the SessionLogFilename property to log HTTP requests and responses to a file.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 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>
//
}