Sample code for 30+ languages & platforms
Node.js

REST POST JSON using Gzip Content Encoding

See more REST Examples

Demonstrates how to send a JSON POST using the gzip Content-Encoding.

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

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

    var json = new chilkat.JsonObject();
    json.UpdateString("lists[0].id","1511199999");
    json.UpdateBool("confirmed",false);
    json.UpdateString("email_addresses[0].email_address","support@chilkatsoft.com");
    json.UpdateString("first_name","Matt");
    json.UpdateString("last_name","Smith");

    var rest = new chilkat.Rest();

    success = rest.Connect("api.constantcontact.com",443,true,true);
    if (success !== true) {
        console.log(rest.LastErrorText);
        return;
    }

    rest.AddHeader("Content-Type","application/json");
    rest.AddHeader("Authorization","Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx");

    //  Tell the server you'll accept only an application/json response.
    rest.AddHeader("Accept","application/json");

    //  Indicate that we'll be sending the request body gzipped.
    rest.AddHeader("Content-Encoding","gzip");

    var sbReq = new chilkat.StringBuilder();
    json.EmitSb(sbReq);

    //  Send the POST.
    var sbResp = new chilkat.StringBuilder();
    success = rest.FullRequestSb("POST","/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx",sbReq,sbResp);
    if (success !== true) {
        console.log(rest.LastErrorText);
        return;
    }

    console.log("Response body:");
    console.log(sbResp.GetAsString());

    if (rest.ResponseStatusCode !== 200) {
        console.log("Received error response code: " + rest.ResponseStatusCode);
        return;
    }

    var jsonResp = new chilkat.JsonObject();
    jsonResp.LoadSb(sbResp);

    //  Use the online tool at https://tools.chilkat.io/jsonParse.cshtml
    //  to generate the JSON code that parses the JSON response..

}

chilkatExample();