executeMutation method
Execute a Mutation from a Query
Implementation
Future executeMutation(Query query) async {
final usecase = sl.get<MutationToServer>();
final _headers = Map<String, String>.from(headers ?? {});
if (query.headers != null) {
_headers.addAll(query.headers!);
}
var request = Request(
headers: _headers,
type: RequestType.mutation,
url: url,
query: query,
);
final interceptedValue = await _interceptorExecutor(
ClientResolver.request(request, this),
);
if (interceptedValue is Response) {
return interceptedValue;
} else if (interceptedValue is HasuraError) {
throw interceptedValue;
} else {
request = interceptedValue;
}
final result = await usecase(request: request);
return (await result.fold(_interceptError, _interceptResponse)).data;
}