request method

  1. @override
Future<GraphQLResult> request({
  1. required String query,
  2. QueryEngineRequestHeaders? headers,
  3. TransactionInfo? transaction,
})
override

Requests a query execution.

Implementation

@override
Future<GraphQLResult> request(
    {required String query,
    QueryEngineRequestHeaders? headers,
    TransactionInfo? transaction}) async {
  GraphQLResult result = await super.request(
    query: query,
    headers: headers,
    transaction: transaction,
  );

  if (result.orginal['EngineNotStarted'] is Map &&
      result.orginal['EngineNotStarted']['reason'] == 'SchemaMissing') {
    await updateSchema();
    result = await super.request(
      query: query,
      headers: headers,
      transaction: transaction,
    );
  }

  tryThrowDataProxyErrors(result.orginal);

  return result;
}