public ModuleServer(IRemoteMessageDispatcher messageDispatcher, IMetadataAccessor metadataAccessor, IModuleManager runningModules, IServiceProvider serviceProvider, IOptions <ModuleServerOptions> optionsAccessor, ILoggerFactory loggerFactory) { if (messageDispatcher == null) { throw new ArgumentNullException(nameof(messageDispatcher)); } if (metadataAccessor == null) { throw new ArgumentNullException(nameof(metadataAccessor)); } if (runningModules == null) { throw new ArgumentNullException(nameof(runningModules)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (optionsAccessor == null) { throw new ArgumentNullException(nameof(optionsAccessor)); } var options = optionsAccessor.Value ?? new ModuleServerOptions(); if (string.IsNullOrWhiteSpace(options.Prefix)) { throw new ArgumentException("A url prefix must be specified."); } _messageDispatcher = messageDispatcher; _metadataAccessor = metadataAccessor; _moduleManager = runningModules; _serviceProvider = serviceProvider; _loggerFactory = loggerFactory; _logger = _loggerFactory?.CreateLogger <ModuleServer>(); _disposeHelper = new AsyncDisposeHelper(DiposeInternalAsync, AsyncDisposeHelperOptions.Synchronize); _prefix = options.Prefix; Features.Set <IHttpRequestFeature>(new HttpRequestFeature()); Features.Set <IHttpResponseFeature>(new HttpResponseFeature()); }
public ModuleManifestProvider(IModulePrefixLookup modulePrefixLookup, IRemoteMessageDispatcher messageDispatcher, ILogger <ModuleManifestProvider> logger = null) { if (modulePrefixLookup == null) { throw new ArgumentNullException(nameof(modulePrefixLookup)); } if (messageDispatcher == null) { throw new ArgumentNullException(nameof(messageDispatcher)); } _modulePrefixLookup = modulePrefixLookup; _messageDispatcher = messageDispatcher; _logger = logger; _manifestCache = new ConcurrentDictionary <ModuleIdentifier, BlazorModuleManifest>(); }
public ModuleHostHttpMiddleware(RequestDelegate next, IRemoteMessageDispatcher dispatcher, IPathMapper pathMapper) { if (next == null) { throw new ArgumentNullException(nameof(next)); } if (dispatcher == null) { throw new ArgumentNullException(nameof(dispatcher)); } if (pathMapper == null) { throw new ArgumentNullException(nameof(pathMapper)); } _next = next; _dispatcher = dispatcher; _pathMapper = pathMapper; }
public DebugPort(IServiceProvider serviceProvider, IAddressConversion <IPEndPoint> addressConversion, IOptions <ModularityOptions> optionsAccessor, IRemoteMessageDispatcher messageDispatcher, ILoggerFactory loggerFactory = null) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (addressConversion == null) { throw new ArgumentNullException(nameof(addressConversion)); } if (optionsAccessor == null) { throw new ArgumentNullException(nameof(optionsAccessor)); } if (messageDispatcher == null) { throw new ArgumentNullException(nameof(messageDispatcher)); } var options = optionsAccessor.Value ?? new ModularityOptions(); _serviceProvider = serviceProvider; _messageDispatcher = messageDispatcher; _loggerFactory = loggerFactory; _logger = _loggerFactory?.CreateLogger <DebugPort>(); var endPoint = addressConversion.Parse(options.DebugConnection); _tcpHost = new TcpListener(endPoint); _connectionProcess = new AsyncProcess(ConnectProcedure); _initializationHelper = new AsyncInitializationHelper <IPEndPoint>(InitializeInternalAsync); _disposeHelper = new AsyncDisposeHelper(DisposeInternalAsync); }