Sample code for 30+ languages & platforms
PureBasic

Example: Http.KeepResponseBody property

Demonstrates the KeepResponseBody property.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    success.i = 0

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

    CkHttp::setCkAwsAccessKey(http, "****")
    CkHttp::setCkAwsSecretKey(http, "****")

    CkHttp::setCkKeepResponseBody(http, 1)

    ; Here we have a Chilkat method that sends a DELETE request and returns 1/0 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 1.
    success = CkHttp::ckS3_DeleteBucket(http,"example")

    If success = 0
        Debug "response status code = " + Str(CkHttp::ckLastStatus(http))
        Debug CkHttp::ckLastResponseBody(http)
    Else
        Debug "Success: Bucket deleted."
    EndIf

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


    CkHttp::ckDispose(http)


    ProcedureReturn
EndProcedure