C
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 C Downloads
#include <C_CkRest.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkRest rest;
BOOL bAutoReconnect;
HCkStringBuilder sbJson;
const char *somePath;
int maxWaitMs;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest = CkRest_Create();
// Connect to the server using TLS
bAutoReconnect = FALSE;
success = CkRest_Connect(rest,"example.com",443,TRUE,bAutoReconnect);
if (success == FALSE) {
printf("%s\n",CkRest_lastErrorText(rest));
CkRest_Dispose(rest);
return;
}
// Create some sample JSON to be sent in the body of the request.
sbJson = CkStringBuilder_Create();
CkStringBuilder_Append(sbJson,"{\"create\": [{\"name\": \"Woo Single #1\",\"type\": \"simple\",\"regular_price\": \"21.99\"}]}");
// Add the Content-Type HTTP request header.
CkRest_AddHeader(rest,"Content-Type","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 = "/something?arg1=xyz&arg2=abc";
success = CkRest_SendReqSb(rest,"POST",somePath,sbJson);
if (success == FALSE) {
printf("%s\n",CkRest_lastErrorText(rest));
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbJson);
return;
}
// OK, the request was sent.
// Close the connection.
maxWaitMs = 50;
CkRest_Disconnect(rest,maxWaitMs);
printf("JSON POST Sent.\n");
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbJson);
}