in src/Microsoft.Azure.SignalR/HubHost/NegotiateHandler.cs [60:96]
public NegotiateHandler(
IOptions<HubOptions> globalHubOptions,
IOptions<HubOptions<THub>> hubOptions,
IServiceEndpointManager endpointManager,
IEndpointRouter router,
IUserIdProvider userIdProvider,
IServerNameProvider nameProvider,
IConnectionRequestIdProvider connectionRequestIdProvider,
IOptions<ServiceOptions> options,
IBlazorDetector blazorDetector,
#if NET6_0_OR_GREATER
EndpointDataSource endpointDataSource,
#endif
ICultureFeatureManager cultureFeatureManager,
ILogger<NegotiateHandler<THub>> logger)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_endpointManager = endpointManager ?? throw new ArgumentNullException(nameof(endpointManager));
_router = router ?? throw new ArgumentNullException(nameof(router));
_serverName = nameProvider?.GetName();
_userIdProvider = userIdProvider ?? throw new ArgumentNullException(nameof(userIdProvider));
_connectionRequestIdProvider = connectionRequestIdProvider ?? throw new ArgumentNullException(nameof(connectionRequestIdProvider));
_claimsProvider = options?.Value?.ClaimsProvider;
_diagnosticClientFilter = options?.Value?.DiagnosticClientFilter;
_blazorDetector = blazorDetector ?? new DefaultBlazorDetector();
_mode = options.Value.ServerStickyMode;
_enableDetailedErrors = globalHubOptions.Value.EnableDetailedErrors == true;
_endpointsCount = options.Value.Endpoints.Length;
_maxPollInterval = options.Value.MaxPollIntervalInSeconds;
_transportTypeDetector = options.Value.TransportTypeDetector;
_customHandshakeTimeout = GetCustomHandshakeTimeout(hubOptions.Value.HandshakeTimeout ?? globalHubOptions.Value.HandshakeTimeout);
_hubName = typeof(THub).Name;
#if NET6_0_OR_GREATER
_dispatcherOptions = GetDispatcherOptions(endpointDataSource, typeof(THub));
#endif
_cultureFeatureManager = cultureFeatureManager ?? throw new ArgumentNullException(nameof(cultureFeatureManager));
}