CockpitNegotiationRequest constructor

CockpitNegotiationRequest({
  1. required CockpitApiVersion apiVersion,
  2. Iterable<String> requiredFeatures = const <String>[],
})

Creates a CockpitNegotiationRequest.

Implementation

CockpitNegotiationRequest({
  required this.apiVersion,
  Iterable<String> requiredFeatures = const <String>[],
}) : requiredFeatures = List<String>.unmodifiable(requiredFeatures) {
  final seen = <String>{};
  for (final feature in this.requiredFeatures) {
    CockpitFoundationValueReader.id(feature, r'$.requiredFeatures[]');
    if (!seen.add(feature)) {
      throw FormatException('Duplicate required feature $feature.');
    }
  }
}