Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

HTTP PUT JSON

See more HTTP Examples

Demonstrates how to send a JSON PUT and get the JSON response body.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final req = CkHttpRequest();
  final http = CkHttp();

  // The PUT request to be sent will look like this:

  // PUT /request HTTP/1.1
  // Content-Type: application/jsonrequest
  // Cookie: JSESSIONID=1234
  // Content-Encoding: identity
  // Host: json.penzance.org
  // Accept: application/jsonrequest
  // Accept-Encoding:
  // Content-Length: 72
  // 
  // {"user":"doctoravatar@penzance.com","forecast":7,"t":"vlIj","zip":94089}

  // First, remove default header fields that would be automatically
  // sent.  (These headers are harmless, and shouldn't need to 
  // be suppressed, but just in case...)
  http.acceptCharset = '';
  http.userAgent = '';
  http.acceptLanguage = '';

  // Suppress the Accept-Encoding header by disallowing 
  // a gzip response:
  http.allowGzip = false;

  // If a Cookie needs to be added...
  http.setRequestHeader('Cookie', 'JSESSIONID=1234');

  // Add the Content-Encoding: identity header.
  http.setRequestHeader('Content-Encoding', 'identity');

  // Modify the default "Accept" header:
  http.accept = 'application/jsonrequest';

  final jsonText = '{"user":"doctoravatar@penzance.com","forecast":7,"t":"vlIj","zip":94089}';

  // IMPORTANT: Make sure to change the URL, JSON text,
  // and other data items to your own values.  The URL used
  // in this example will not actually work.

  final resp = CkHttpResponse();
  try {
    http.httpStr('PUT', 'http://json.penzance.org/request', jsonText, 'utf-8', 'application/jsonrequest', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Response status code: ${resp.statusCode}');
  print('Response JSON:');
  print(resp.bodyStr);
}