Sample code for 30+ languages & platforms
Unicode C

Example: Http.KeepResponseBody property

Demonstrates the KeepResponseBody property.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttpW http;

    success = FALSE;

    http = CkHttpW_Create();

    CkHttpW_putAwsAccessKey(http,L"****");
    CkHttpW_putAwsSecretKey(http,L"****");

    CkHttpW_putKeepResponseBody(http,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.
    success = CkHttpW_S3_DeleteBucket(http,L"example");

    if (success == FALSE) {
        wprintf(L"response status code = %d\n",CkHttpW_getLastStatus(http));
        wprintf(L"%s\n",CkHttpW_lastResponseBody(http));
    }
    else {
        wprintf(L"Success: Bucket deleted.\n");
    }

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


    CkHttpW_Dispose(http);

    }