parsePayload static method
Parse payload.
Implementation
static OriginFrame parsePayload(Uint8List payload) {
final parsedOrigins = <String>[];
var offset = 0;
while (offset < payload.length) {
if (offset + 2 > payload.length) {
throw ArgumentError(
'ORIGIN payload too short for Origin-Len at offset $offset',
);
}
final length = (payload[offset] << 8) | payload[offset + 1];
offset += 2;
if (offset + length > payload.length) {
throw ArgumentError(
'ORIGIN payload too short: expected $length bytes at offset $offset',
);
}
final originBytes = payload.sublist(offset, offset + length);
parsedOrigins.add(utf8.decode(originBytes));
offset += length;
}
return OriginFrame(origins: parsedOrigins);
}