parseHeaders static method
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);
}