Sample code for 30+ languages & platforms
Zig

Bunny Edge Storage - Download File

See more Bunny CDN Examples

Returns the stored file at the given path. If the file does not exist, a 404 response will be returned.

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

    // Use the "Password" from the "FTP & HTTP API Access" console web page for your Bunny storage zone.
    http.setRequestHeader("AccessKey", "YOUR_FTP_AND_HTTP_PASSWORD");

    // Here I am using a relative file path (relative to the current working directory of the process).
    // You may wish to change it to an absolute file path, such as "C:/someDir/..." if on Windows.
    const local_file_path = "qa_output/penguins.jpg";

    // Important:
    // Storage Endpoints:
    // The storage API endpoint depends on the primary storage region of your storage zone. You can also find this in the FTP & HTTP API Information of your storage zone.

    // Falkenstein: storage.bunnycdn.com
    // New York: ny.storage.bunnycdn.com
    // Los Angeles: la.storage.bunnycdn.com
    // Singapore: sg.storage.bunnycdn.com
    // Sydney: syd.storage.bunnycdn.com
    // London: uk.storage.bunnycdn.com
    // ... (possibly others??)

    // If you use the incorrect storage endpoint, you will get a "401 Unauthorized" response.
    // Make sure to change the "storageZoneName" to your actual storage zone name.
    http.download("https://uk.storage.bunnycdn.com/storageZoneName/testDir/penguins.jpg", local_file_path) catch {
        std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
        return;
    };

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