public ReactiveHttpWebServer( IHttpListenerObservableFactory listenerFactory, IEnumerable<IHttpRequestHandler> handlers, IHttpServerOptions opt, ILogger logger): base(logger) { if (handlers == null || !handlers.Any()) throw new ArgumentException("No Http handlers specified for the WebServer"); _logger = logger; _listener = listenerFactory.Create((configurator) => { foreach (var ep in opt.Endpoints) configurator.AddPrefix(ep.ToString()); _logger.Info($"Listens on: {string.Join(", ", opt.Endpoints.Select(p => p.ToString()))}"); }, logger); _handlers = handlers.ToList(); _handlers.Sort((x, y) => x.PriorityClass == y.PriorityClass ? x.Priority.CompareTo(y.Priority) : x.PriorityClass.CompareTo(y.PriorityClass) ); }
public ReactiveHttpWebServer( IHttpListenerObservableFactory listenerFactory, IEnumerable <IHttpRequestHandler> handlers, IHttpServerOptions opt, ILogger logger) : base(logger) { if (handlers == null || !handlers.Any()) { throw new ArgumentException("No Http handlers specified for the WebServer"); } _logger = logger; _listener = listenerFactory.Create((configurator) => { foreach (var ep in opt.Endpoints) { configurator.AddPrefix(ep.ToString()); } _logger.Info($"Listens on: {string.Join(", ", opt.Endpoints.Select(p => p.ToString()))}"); }, logger); _handlers = handlers.ToList(); _handlers.Sort((x, y) => x.PriorityClass == y.PriorityClass ? x.Priority.CompareTo(y.Priority) : x.PriorityClass.CompareTo(y.PriorityClass) ); }