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