Sample code for 30+ languages & platforms
Xbase++

Example: Http.KeepResponseBody property

Demonstrates the KeepResponseBody property.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp

nSuccess := 0

oHttp := CreateObject("Chilkat.Http")

oHttp:AwsAccessKey := "****"
oHttp:AwsSecretKey := "****"

oHttp:KeepResponseBody := 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.
nSuccess := oHttp:S3_DeleteBucket("example")

IF (nSuccess == 0)
    ? "response status code = " + Str(oHttp:LastStatus)
    ? oHttp:LastResponseBody
ELSE
    ? "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>

oHttp:destroy()