writePath method

Future<bool> writePath(
  1. String value, {
  2. String? path,
  3. String? method,
  4. Map<String, dynamic>? queryParameters,
})

Writes an encoded payload to an HTTP path using POST, PUT, or PATCH.

Implementation

Future<bool> writePath(
  String value, {
  String? path,
  String? method,
  Map<String, dynamic>? queryParameters,
}) async {
  final resolvedMethod = _resolveWriteMethod(method);
  final headers = <String, String>{
    'Content-Type': 'application/json',
    ...?_defaultHeaders,
  };
  final uri = _buildUri(path: path, queryParameters: queryParameters);

  final response = switch (resolvedMethod) {
    'post' => await _client.post(uri, headers: headers, body: value),
    'put' => await _client.put(uri, headers: headers, body: value),
    'patch' => await _client.patch(uri, headers: headers, body: value),
    _ => throw ArgumentError.value(
        resolvedMethod,
        'method',
        'Only POST, PUT, or PATCH are supported',
      ),
  };

  return _isWriteSuccess(response.statusCode);
}