Sample code for 30+ languages & platforms
Lua

Bunny Edge Storage - List Files

See more Bunny CDN Examples

Retrieve a list of files and directories located in the given directory.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local http = chilkat.Http.new()

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

-- 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??)

local sbResponse = chilkat.StringBuilder.new()

-- Change the "storageZoneName" to your actual storage zone name.
local success = http:quick_get_sb("https://uk.storage.bunnycdn.com/storageZoneName/testDir/", sbResponse)
if not success then
    print(http.last_error_text)
    return
end

local statusCode = http.last_status
print("Status code = " .. statusCode)

if statusCode ~= 200 then
    print(sbResponse:get_as_string())
    print("Failed.")
    return
end

local jarr = chilkat.JsonArray.new()
jarr:load_sb(sbResponse)
jarr.emit_compact = false

print(jarr:emit())

-- Here is a sample response.  Parsing code is shown below..

-- [
--   {
--     "Guid": "ebd9ccff-faf7-449d-9c71-8662b9f3cf41",
--     "StorageZoneName": "chilkat",
--     "Path": "/chilkat/testDir/",
--     "ObjectName": "seahorse.jpg",
--     "Length": 24388,
--     "LastChanged": "2023-04-21T15:59:08.382",
--     "ServerId": 586,
--     "ArrayNumber": 0,
--     "IsDirectory": false,
--     "UserId": "6d26ab35-2914-422c-9378-d51f38166e53",
--     "ContentType": "",
--     "DateCreated": "2023-04-21T15:59:08.382",
--     "StorageZoneId": 266805,
--     "Checksum": "0503558E7B4D141C067BEECFD06F87F6F58B81E37918310F82C7C4077D27BD1D",
--     "ReplicatedZones": "SE,DE,LA,SG,JH,BR,SYD,NY"
--   },
--   {
--     "Guid": "e74b85f8-4d5d-459e-a2fc-0fcfa8c926aa",
--     "StorageZoneName": "chilkat",
--     "Path": "/chilkat/testDir/",
--     "ObjectName": "seal.jpg",
--     "Length": 342708,
--     "LastChanged": "2023-04-21T15:59:08.763",
--     "ServerId": 586,
--     "ArrayNumber": 2,
--     "IsDirectory": false,
--     "UserId": "6d26ab35-2914-422c-9378-d51f38166e53",
--     "ContentType": "",
--     "DateCreated": "2023-04-21T15:59:08.763",
--     "StorageZoneId": 266805,
--     "Checksum": "C95F946A0299CE39C20A072B3DC581446B2EE2D94CA93901B58604F4EFB8AAB5",
--     "ReplicatedZones": "DE,SE,SG,LA,JH,BR,SYD,NY"
--   },
--   {
--     "Guid": "ca80cdbd-c6cf-445d-b367-0b33de7ae65a",
--     "StorageZoneName": "chilkat",
--     "Path": "/chilkat/testDir/",
--     "ObjectName": "university.jpg",
--     "Length": 277581,
--     "LastChanged": "2023-04-21T15:59:10.142",
--     "ServerId": 586,
--     "ArrayNumber": 0,
--     "IsDirectory": false,
--     "UserId": "6d26ab35-2914-422c-9378-d51f38166e53",
--     "ContentType": "",
--     "DateCreated": "2023-04-21T15:59:10.142",
--     "StorageZoneId": 266805,
--     "Checksum": "96A10EAA1B778C066739A6233206022DB219B67A8775401D7865F40E6DD83571",
--     "ReplicatedZones": "DE,SE,SG,JH,BR,LA,SYD,NY"
--   }
-- ]

-- Use this online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON

local json
local Guid = ""
local StorageZoneName = ""
local Path = ""
local ObjectName = ""
local Length = 0
local LastChanged = ""
local ServerId = 0
local ArrayNumber = 0
local IsDirectory = false
local UserId = ""
local ContentType = ""
local DateCreated = ""
local StorageZoneId = 0
local Checksum = ""
local ReplicatedZones = ""

local i = 0
local count_i = jarr.size
while i < count_i do
    json = jarr:object_at(i)
    Guid = json:string_of("Guid")
    StorageZoneName = json:string_of("StorageZoneName")
    Path = json:string_of("Path")
    ObjectName = json:string_of("ObjectName")
    Length = json:int_of("Length")
    LastChanged = json:string_of("LastChanged")
    ServerId = json:int_of("ServerId")
    ArrayNumber = json:int_of("ArrayNumber")
    IsDirectory = json:bool_of("IsDirectory")
    UserId = json:string_of("UserId")
    ContentType = json:string_of("ContentType")
    DateCreated = json:string_of("DateCreated")
    StorageZoneId = json:int_of("StorageZoneId")
    Checksum = json:string_of("Checksum")
    ReplicatedZones = json:string_of("ReplicatedZones")

    i = i + 1
end