C++
C++
Send a REST Request using StringBuilder Bodies
See more REST Examples
Demonstrates Rest.FullRequestSb, which sends a complete request whose text body is read from a StringBuilder and stores the text response body in a second StringBuilder.
Background. Using StringBuilder objects for the request and response bodies avoids extra string conversions, which is helpful when working with large payloads.
Chilkat C++ Downloads
#include <CkRest.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
bool success = false;
CkRest rest;
bool bTls = true;
bool bAutoReconnect = true;
success = rest.Connect("example.com",443,bTls,bAutoReconnect);
if (success == false) {
std::cout << rest.lastErrorText() << "\r\n";
return;
}
// FullRequestSb sends a request whose text body is read from a StringBuilder and stores the text
// response body in a second StringBuilder. This avoids extra string conversions for large bodies.
CkStringBuilder sbRequest;
sbRequest.Append("{ \"query\": \"chilkat\" }");
rest.AddHeader("Content-Type","application/json");
CkStringBuilder sbResponse;
success = rest.FullRequestSb("POST","/api/search",sbRequest,sbResponse);
if (success == false) {
std::cout << rest.lastErrorText() << "\r\n";
return;
}
const char *responseText = sbResponse.getAsString();
if (sbResponse.get_LastMethodSuccess() == false) {
std::cout << sbResponse.lastErrorText() << "\r\n";
return;
}
std::cout << responseText << "\r\n";
}