parseStatus static method

StatusException parseStatus(
  1. List<int> payload
)

Implementation

static StatusException parseStatus(List<int> payload) {
  try {
    final root = jsonDecode(utf8.decode(payload));
    if (root is Map && root['code'] is num) {
      final status = StatusException(
          (root['code'] as num).toInt(), root['message']?.toString() ?? '');
      final metadata = root['metadata'];
      if (metadata is Map) {
        status.trailers = {
          for (final e in metadata.entries)
            e.key.toString(): e.value.toString(),
        };
      }
      return status;
    }
  } catch (_) {
    // fall through to malformed
  }
  return StatusException(Wire.codeUnknown, 'malformed trailers');
}