Sample code for 30+ languages & platforms
DataFlex

Transition from Http.PBinaryBd to Http.HttpBd

Provides instructions for replacing deprecated PBinaryBd method calls with HttpBd.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sVerb
    String sUrl
    Variant vBdRequestBody
    Handle hoBdRequestBody
    String sContentType
    Variant vResponseObj
    Handle hoResponseObj
    Variant vResponseOut
    Handle hoResponseOut
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Move "POST" To sVerb
    Move "https://example.com/" To sUrl
    Get Create (RefClass(cComChilkatBinData)) To hoBdRequestBody
    If (Not(IsComObjectCreated(hoBdRequestBody))) Begin
        Send CreateComObject of hoBdRequestBody
    End
    Move "application/octet-stream" To sContentType

    // ------------------------------------------------------------------------
    // The PBinaryBd method is deprecated:

    Get pvComObject of hoBdRequestBody to vBdRequestBody
    Get ComPBinaryBd Of hoHttp sVerb sUrl vBdRequestBody sContentType False False To vResponseObj
    If (IsComObject(vResponseObj)) Begin
        Get Create (RefClass(cComChilkatHttpResponse)) To hoResponseObj
        Set pvComObject Of hoResponseObj To vResponseObj
    End
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // ...
    // ...

    Send Destroy of hoResponseObj

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

    Get Create (RefClass(cComChilkatHttpResponse)) To hoResponseOut
    If (Not(IsComObjectCreated(hoResponseOut))) Begin
        Send CreateComObject of hoResponseOut
    End
    Get pvComObject of hoBdRequestBody to vBdRequestBody
    Get pvComObject of hoResponseOut to vResponseOut
    Get ComHttpBd Of hoHttp sVerb sUrl vBdRequestBody sContentType vResponseOut To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End



End_Procedure