HubConfig constructor
HubConfig({
- required Authenticator authenticator,
- SecurityContext? securityContext,
- String? tlsDirectory,
- Duration tlsReloadInterval = const Duration(hours: 12),
- Authorizer? authorizer,
- Uint8List? identityCertificate,
- Object host = '0.0.0.0',
- int port = 8443,
- Duration heartbeatTimeout = const Duration(seconds: 30),
- PortRange? tunnelPortRange,
- String tunnelPublicHost = '',
- SecurityContext? tunnelSecurityContext,
- String? tunnelTlsDirectory,
- Duration tunnelTlsReloadInterval = const Duration(hours: 12),
- Clock clock = const SystemClock(),
- void logger(
- String message
- AiConfig? aiConfig,
Creates a hub configuration.
Provide exactly one of securityContext or tlsDirectory for the main
listener's TLS.
Implementation
HubConfig({
required this.authenticator,
this.securityContext,
this.tlsDirectory,
this.tlsReloadInterval = const Duration(hours: 12),
Authorizer? authorizer,
this.identityCertificate,
this.host = '0.0.0.0',
this.port = 8443,
this.heartbeatTimeout = const Duration(seconds: 30),
this.tunnelPortRange,
this.tunnelPublicHost = '',
this.tunnelSecurityContext,
this.tunnelTlsDirectory,
this.tunnelTlsReloadInterval = const Duration(hours: 12),
this.clock = const SystemClock(),
this.logger,
this.aiConfig,
}) : assert(
(securityContext == null) != (tlsDirectory == null),
'provide exactly one of securityContext or tlsDirectory',
),
authorizer = authorizer ?? const RoleBasedAuthorizer();