parseHeaders static method

Headers parseHeaders(
  1. List<int> payload
)

Implementation

static Headers parseHeaders(List<int> payload) {
  Object? root;
  try {
    root = jsonDecode(utf8.decode(payload));
  } catch (e) {
    throw StatusException(
        Wire.codeInvalidArgument, 'bad HEADERS payload: $e');
  }
  if (root is! Map) {
    throw StatusException(
        Wire.codeInvalidArgument, 'bad HEADERS payload: not an object');
  }
  final metadata = <String, String>{};
  final md = root['metadata'];
  if (md is Map) {
    for (final entry in md.entries) {
      metadata[entry.key.toString()] = entry.value.toString();
    }
  }
  final path = root['path'];
  return (path: path is String ? path : null, metadata: metadata);
}