Unicode C
Unicode C
POST JSON Without Waiting for the Response
See more REST Examples
This example demonstrates sending a POST w/ content-type "application/json" where the body of the POST contains a JSON document. The POST is sent, but we don't wait for the response.Chilkat Unicode C Downloads
#include <C_CkRestW.h>
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
BOOL success;
HCkRestW rest;
BOOL bAutoReconnect;
HCkStringBuilderW sbJson;
const wchar_t *somePath;
int maxWaitMs;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest = CkRestW_Create();
// Connect to the server using TLS
bAutoReconnect = FALSE;
success = CkRestW_Connect(rest,L"example.com",443,TRUE,bAutoReconnect);
if (success == FALSE) {
wprintf(L"%s\n",CkRestW_lastErrorText(rest));
CkRestW_Dispose(rest);
return;
}
// Create some sample JSON to be sent in the body of the request.
sbJson = CkStringBuilderW_Create();
CkStringBuilderW_Append(sbJson,L"{\"create\": [{\"name\": \"Woo Single #1\",\"type\": \"simple\",\"regular_price\": \"21.99\"}]}");
// Add the Content-Type HTTP request header.
CkRestW_AddHeader(rest,L"Content-Type",L"application/json");
// Just send the request. Don't read the response.
// The request is sent to https://example.com/something?arg1=xyz&arg2=abc
somePath = L"/something?arg1=xyz&arg2=abc";
success = CkRestW_SendReqSb(rest,L"POST",somePath,sbJson);
if (success == FALSE) {
wprintf(L"%s\n",CkRestW_lastErrorText(rest));
CkRestW_Dispose(rest);
CkStringBuilderW_Dispose(sbJson);
return;
}
// OK, the request was sent.
// Close the connection.
maxWaitMs = 50;
CkRestW_Disconnect(rest,maxWaitMs);
wprintf(L"JSON POST Sent.\n");
CkRestW_Dispose(rest);
CkStringBuilderW_Dispose(sbJson);
}