CockpitDaemonDiscovery constructor
CockpitDaemonDiscovery({
- String schemaVersion = cockpitDaemonDiscoverySchema,
- required String instanceId,
- required int processId,
- required String processStartIdentity,
- required Uri endpoint,
- required String bearerToken,
- required int apiMajor,
- required int apiMinor,
- required String engineVersion,
- required DateTime startedAt,
- CockpitAuthorizationMode authorizationMode = CockpitAuthorizationMode.restricted,
Implementation
CockpitDaemonDiscovery({
this.schemaVersion = cockpitDaemonDiscoverySchema,
required this.instanceId,
required this.processId,
required this.processStartIdentity,
required this.endpoint,
required this.bearerToken,
required this.apiMajor,
required this.apiMinor,
required this.engineVersion,
required this.startedAt,
this.authorizationMode = CockpitAuthorizationMode.restricted,
}) {
if (schemaVersion != cockpitDaemonDiscoverySchema ||
!_identifier.hasMatch(instanceId) ||
processId <= 1 ||
processStartIdentity.trim().isEmpty ||
processStartIdentity.length > 512 ||
endpoint.scheme != 'http' ||
endpoint.host != InternetAddress.loopbackIPv4.address ||
endpoint.port < 1 ||
endpoint.port > 65535 ||
endpoint.path.isNotEmpty && endpoint.path != '/' ||
endpoint.hasQuery ||
endpoint.hasFragment ||
bearerToken.length < 32 ||
bearerToken.length > 128 ||
!_token.hasMatch(bearerToken) ||
apiMajor < 0 ||
apiMinor < 0 ||
engineVersion.trim().isEmpty ||
engineVersion.length > 128 ||
!startedAt.isUtc) {
throw const FormatException('Invalid Cockpit daemon discovery data.');
}
}