Sample code for 30+ languages & platforms
PureBasic

Transition from Http.PBinaryBd to Http.HttpBd

Provides instructions for replacing deprecated PBinaryBd method calls with HttpBd.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkBinData.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"

Procedure ChilkatExample()

    success.i = 0

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

    verb.s = "POST"
    url.s = "https://example.com/"
    bdRequestBody.i = CkBinData::ckCreate()
    If bdRequestBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    contentType.s = "application/octet-stream"

    ; ------------------------------------------------------------------------
    ; The PBinaryBd method is deprecated:

    responseObj.i = CkHttp::ckPBinaryBd(http,verb,url,bdRequestBody,contentType,0,0)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkBinData::ckDispose(bdRequestBody)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkHttpResponse::ckDispose(responseObj)

    ; ------------------------------------------------------------------------
    ; Do the equivalent using HttpBd.
    ; 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::ckHttpBd(http,verb,url,bdRequestBody,contentType,responseOut)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkBinData::ckDispose(bdRequestBody)
        CkHttpResponse::ckDispose(responseOut)
        ProcedureReturn
    EndIf



    CkHttp::ckDispose(http)
    CkBinData::ckDispose(bdRequestBody)
    CkHttpResponse::ckDispose(responseOut)


    ProcedureReturn
EndProcedure