updateSchema method

Future<void> updateSchema()

Update schema.

Implementation

Future<void> updateSchema() async {
  final url = endpoint.replace(
    pathSegments: [...endpoint.pathSegments, 'schema'],
  );
  final headers = {
    ...this.headers,
    'Content-Type': 'plain/text; charset=utf-8',
  };
  logger.emit(
      Event.info, Payload(message: 'Calling $url for schema update...'));

  final response =
      await http.put(url, headers: headers, body: schema.codeUnits);
  if (response.statusCode != 201) {
    final message =
        'Error while updating schema: ${convert.utf8.decode(response.bodyBytes)}';
    logger.emit(Event.warn, Payload(message: message));

    throw PrismaRequestException(message: message, engine: this);
  }

  logger.emit(
      Event.info, Payload(message: 'Schema (re)uploaded (hash: $hash)'));
}