Sample code for 30+ languages & platforms
B4X

Bunny Edge Storage - List Files

See more Bunny CDN Examples

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

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("http")

'  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")

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

Dim sbResponse As ChilkatStringBuilder
sbResponse.Initialize

'  Change the "storageZoneName" to your actual storage zone name.
success = http.QuickGetSb("https://uk.storage.bunnycdn.com/storageZoneName/testDir/", sbResponse)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim statusCode As Int = http.LastStatus
Log("Status code = " & statusCode)

If statusCode <> 200 Then
    Log(sbResponse.GetAsString)
    Log("Failed.")
    Return
End If


Dim jarr As ChilkatJsonArray
jarr.Initialize
jarr.LoadSb(sbResponse)
jarr.EmitCompact = False

Log(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

Dim json As ChilkatJsonObject
Dim Guid As String
Dim StorageZoneName As String
Dim Path As String
Dim ObjectName As String
Dim Length As Int
Dim LastChanged As String
Dim ServerId As Int
Dim ArrayNumber As Int
Dim IsDirectory As Boolean
Dim UserId As String
Dim ContentType As String
Dim DateCreated As String
Dim StorageZoneId As Int
Dim Checksum As String
Dim ReplicatedZones As String

Dim i As Int = 0
Dim count_i As Int = jarr.Size
Do While i < count_i
    json = jarr.ObjectAt(i)
    Guid = json.StringOf("Guid")
    StorageZoneName = json.StringOf("StorageZoneName")
    Path = json.StringOf("Path")
    ObjectName = json.StringOf("ObjectName")
    Length = json.IntOf("Length")
    LastChanged = json.StringOf("LastChanged")
    ServerId = json.IntOf("ServerId")
    ArrayNumber = json.IntOf("ArrayNumber")
    IsDirectory = json.BoolOf("IsDirectory")
    UserId = json.StringOf("UserId")
    ContentType = json.StringOf("ContentType")
    DateCreated = json.StringOf("DateCreated")
    StorageZoneId = json.IntOf("StorageZoneId")
    Checksum = json.StringOf("Checksum")
    ReplicatedZones = json.StringOf("ReplicatedZones")

    i = i + 1
Loop