Sample code for 30+ languages & platforms
DataFlex

Example: Http.KeepResponseBody property

Demonstrates the KeepResponseBody property.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

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

    Set ComAwsAccessKey Of hoHttp To "****"
    Set ComAwsSecretKey Of hoHttp To "****"

    Set ComKeepResponseBody Of hoHttp To True

    // Here we have a Chilkat method that sends a DELETE request and returns True/False for success/failure.
    // If it fails we'll want to get the response status code and the response body.
    // The response body will be available in the LastResponseBody property 
    // because we set the KeepResponseBody property to True.
    Get ComS3_DeleteBucket Of hoHttp "example" To iSuccess

    If (iSuccess = False) Begin
        Get ComLastStatus Of hoHttp To iTemp1
        Showln "response status code = " iTemp1
        Get ComLastResponseBody Of hoHttp To sTemp1
        Showln sTemp1
    End
    Else Begin
        Showln "Success: Bucket deleted."
    End

    // Running the code as-is with the invalid data will return a response body
    // that shows the error.

    // response status code = 403
    // <?xml version="1.0" encoding="UTF-8"?>
    // <Error>
    //   <Code>InvalidAccessKeyId</Code>
    //   <Message>The AWS Access Key Id you provided does not exist in our records.</Message>
    //   <AWSAccessKeyId>****</AWSAccessKeyId>
    //   <RequestId>Y1REHYF8B7M3E771</RequestId>
    //   <HostId>i3nf+VEHKqJ+roMNTFcQvWAbXre/wl5icQxuAN1Qsscm9iI/y8IO4z3QNxUefhcCE7hgrS8dNn9OBvKCeB3WccGLe318A4DFUQDPb11WmIg=</HostId>
    // </Error>


End_Procedure