MessageAcceptMimeTypesMetadata constructor

MessageAcceptMimeTypesMetadata(
  1. List<String> acceptMimeTypes
)

Implementation

MessageAcceptMimeTypesMetadata(List<String> acceptMimeTypes) {
  mimeType = 'message/x.rsocket.accept-mime-types.v0';
  this.acceptMimeTypes = acceptMimeTypes;
  var buffer = RSocketByteBuffer();
  acceptMimeTypes.forEach((acceptMimeType) {
    if (WellKnownMimeType.isWellKnownType(acceptMimeType)) {
      buffer.writeI8(0x80 | WellKnownMimeType.getMimeTypeId(acceptMimeType)!);
    } else {
      var acceptMimeTypeU8Array = utf8.encode(acceptMimeType);
      buffer.writeI8(acceptMimeTypeU8Array.length);
      buffer.writeBytes(acceptMimeTypeU8Array);
    }
  });
  content = buffer.toUint8Array();
}