updateCal method

Future<CalResponse> updateCal(
  1. String path,
  2. String etag,
  3. dynamic calendar, {
  4. Map<String, dynamic>? headers,
})

Update calendar ifMatch the etag

Implementation

Future<CalResponse> updateCal(String path, String etag, dynamic calendar, {Map<String, dynamic>? headers}) async {
  var uri = _fullUri(path);
  var request = await client.putUrl(Uri.parse(uri));

  request.headers.contentType = ContentType('text', 'calendar', charset: 'utf-8');

  var temp = <String, dynamic>{'If-Match': '"$etag"', ...?headers, ...?this.headers};

  temp.forEach((key, value) {
    request.headers.add(key, value);
  });

  request.write(calendar);

  var response = await request.close();

  checkResponse(response);

  return CalResponse.fromHttpResponse(response, uri);
}