Lua
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
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