Sample code for 30+ languages & platforms
PureBasic

Transition from Http.S3_DeleteMultipleObjects to Http.S3_DeleteObjects

Provides instructions for replacing deprecated S3_DeleteMultipleObjects method calls with S3_DeleteObjects.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkStringTable.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkStringArray.pb"

Procedure ChilkatExample()

    success.i = 0

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    bucketName.s = "testBucket"

    sa.i = CkStringArray::ckCreate()
    If sa.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringArray::ckAppend(sa,"starfish.jpg")
    CkStringArray::ckAppend(sa,"clam.jpg")
    CkStringArray::ckAppend(sa,"shark.jpg")

    st.i = CkStringTable::ckCreate()
    If st.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringTable::ckAppend(st,"starfish.jpg")
    CkStringTable::ckAppend(st,"clam.jpg")
    CkStringTable::ckAppend(st,"shark.jpg")

    ; ------------------------------------------------------------------------
    ; The S3_DeleteMultipleObjects method is deprecated:

    responseObj.i = CkHttp::ckS3_DeleteMultipleObjects(http,bucketName,sa)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkStringArray::ckDispose(sa)
        CkStringTable::ckDispose(st)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkHttpResponse::ckDispose(responseObj)

    ; ------------------------------------------------------------------------
    ; Do the equivalent using S3_DeleteObjects.
    ; Your application creates a new, empty HttpResponse object which is passed 
    ; in the last argument and filled upon success.

    responseOut.i = CkHttpResponse::ckCreate()
    If responseOut.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckS3_DeleteObjects(http,bucketName,st,responseOut)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkStringArray::ckDispose(sa)
        CkStringTable::ckDispose(st)
        CkHttpResponse::ckDispose(responseOut)
        ProcedureReturn
    EndIf



    CkHttp::ckDispose(http)
    CkStringArray::ckDispose(sa)
    CkStringTable::ckDispose(st)
    CkHttpResponse::ckDispose(responseOut)


    ProcedureReturn
EndProcedure