DataFlex
DataFlex
REST POST JSON using Gzip Content Encoding
See more REST Examples
Demonstrates how to send a JSON POST using the gzip Content-Encoding.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoJson
Handle hoRest
Variant vSbReq
Handle hoSbReq
Variant vSbResp
Handle hoSbResp
Resp Handle hoJsonResp
String sTemp1
Integer iTemp1
Move False To iSuccess
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Use the online tool at https://tools.chilkat.io/Default.cshtml
// to generate the JSON code that creates this JSON:
// {
// "lists": [
// {
// "id": "1511199999"
// }
// ],
// "confirmed": false,
// "email_addresses": [
// {
// "email_address": "support@chilkatsoft.com"
// }
// ],
// "first_name": "Matt",
// "last_name": "Smith"
// }
//
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get ComUpdateString Of hoJson "lists[0].id" "1511199999" To iSuccess
Get ComUpdateBool Of hoJson "confirmed" False To iSuccess
Get ComUpdateString Of hoJson "email_addresses[0].email_address" "support@chilkatsoft.com" To iSuccess
Get ComUpdateString Of hoJson "first_name" "Matt" To iSuccess
Get ComUpdateString Of hoJson "last_name" "Smith" To iSuccess
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
Get ComConnect Of hoRest "api.constantcontact.com" 443 True True To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComAddHeader Of hoRest "Content-Type" "application/json" To iSuccess
Get ComAddHeader Of hoRest "Authorization" "Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx" To iSuccess
// Tell the server you'll accept only an application/json response.
Get ComAddHeader Of hoRest "Accept" "application/json" To iSuccess
// Indicate that we'll be sending the request body gzipped.
Get ComAddHeader Of hoRest "Content-Encoding" "gzip" To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbReq
If (Not(IsComObjectCreated(hoSbReq))) Begin
Send CreateComObject of hoSbReq
End
Get pvComObject of hoSbReq to vSbReq
Get ComEmitSb Of hoJson vSbReq To iSuccess
// Send the POST.
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResp
If (Not(IsComObjectCreated(hoSbResp))) Begin
Send CreateComObject of hoSbResp
End
Get pvComObject of hoSbReq to vSbReq
Get pvComObject of hoSbResp to vSbResp
Get ComFullRequestSb Of hoRest "POST" "/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx" vSbReq vSbResp To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Response body:"
Get ComGetAsString Of hoSbResp To sTemp1
Showln sTemp1
Get ComResponseStatusCode Of hoRest To iTemp1
If (iTemp1 <> 200) Begin
Get ComResponseStatusCode Of hoRest To iTemp1
Showln "Received error response code: " iTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResp
If (Not(IsComObjectCreated(hoJsonResp))) Begin
Send CreateComObject of hoJsonResp
End
Get pvComObject of hoSbResp to vSbResp
Get ComLoadSb Of hoJsonResp vSbResp To iSuccess
// Use the online tool at https://tools.chilkat.io/jsonParse.cshtml
// to generate the JSON code that parses the JSON response..
End_Procedure