Objective-C
Objective-C
REST POST JSON using Gzip Content Encoding
See more REST Examples
Demonstrates how to send a JSON POST using the gzip Content-Encoding.Chilkat Objective-C Downloads
#import <CkoJsonObject.h>
#import <CkoRest.h>
#import <CkoStringBuilder.h>
BOOL success = NO;
// 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"
// }
//
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"lists[0].id" value: @"1511199999"];
[json UpdateBool: @"confirmed" value: NO];
[json UpdateString: @"email_addresses[0].email_address" value: @"support@chilkatsoft.com"];
[json UpdateString: @"first_name" value: @"Matt"];
[json UpdateString: @"last_name" value: @"Smith"];
CkoRest *rest = [[CkoRest alloc] init];
success = [rest Connect: @"api.constantcontact.com" port: [NSNumber numberWithInt: 443] tls: YES autoReconnect: YES];
if (success != YES) {
NSLog(@"%@",rest.LastErrorText);
return;
}
[rest AddHeader: @"Content-Type" value: @"application/json"];
[rest AddHeader: @"Authorization" value: @"Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"];
// Tell the server you'll accept only an application/json response.
[rest AddHeader: @"Accept" value: @"application/json"];
// Indicate that we'll be sending the request body gzipped.
[rest AddHeader: @"Content-Encoding" value: @"gzip"];
CkoStringBuilder *sbReq = [[CkoStringBuilder alloc] init];
[json EmitSb: sbReq];
// Send the POST.
CkoStringBuilder *sbResp = [[CkoStringBuilder alloc] init];
success = [rest FullRequestSb: @"POST" uriPath: @"/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx" requestBody: sbReq responseBody: sbResp];
if (success != YES) {
NSLog(@"%@",rest.LastErrorText);
return;
}
NSLog(@"%@",@"Response body:");
NSLog(@"%@",[sbResp GetAsString]);
if ([rest.ResponseStatusCode intValue] != 200) {
NSLog(@"%@%d",@"Received error response code: ",[rest.ResponseStatusCode intValue]);
return;
}
CkoJsonObject *jsonResp = [[CkoJsonObject alloc] init];
[jsonResp LoadSb: sbResp];
// Use the online tool at https://tools.chilkat.io/jsonParse.cshtml
// to generate the JSON code that parses the JSON response..