modify method
Modifies a resource.
Implementation
@override
Future<Data?> modify(id, data, [Map<String, dynamic>? params]) async {
var url = baseUrl.replace(
path: _p.join(baseUrl.path, id.toString()),
queryParameters: _buildQuery(params));
var response =
await app.sendUnstreamed('PATCH', url, _writeHeaders, makeBody(data));
try {
if (_invalid(response)) {
if (_onModified.hasListener) {
_onModified.addError(failure(response));
} else {
throw failure(response);
}
}
var r = deserialize(json.decode(response.body));
_onModified.add(r);
return r;
} catch (e, st) {
if (_onModified.hasListener) {
_onModified.addError(e, st);
} else {
_log.severe(st);
throw failure(response, error: e, stack: st);
}
}
return null;
}