mirror of
https://github.com/fergalmoran/Readarr.git
synced 2026-02-02 05:54:38 +00:00
New: Lidarr to Readarr
This commit is contained in:
75
src/Readarr.Http/ReadarrBootstrapper.cs
Normal file
75
src/Readarr.Http/ReadarrBootstrapper.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Nancy;
|
||||
using Nancy.Bootstrapper;
|
||||
using Nancy.Diagnostics;
|
||||
using Nancy.Responses.Negotiation;
|
||||
using NLog;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Instrumentation;
|
||||
using NzbDrone.Core.Instrumentation;
|
||||
using Readarr.Http.Extensions.Pipelines;
|
||||
using TinyIoC;
|
||||
|
||||
namespace Readarr.Http
|
||||
{
|
||||
public class ReadarrBootstrapper : TinyIoCNancyBootstrapper
|
||||
{
|
||||
private readonly TinyIoCContainer _tinyIoCContainer;
|
||||
private static readonly Logger Logger = NzbDroneLogger.GetLogger(typeof(ReadarrBootstrapper));
|
||||
|
||||
public ReadarrBootstrapper(TinyIoCContainer tinyIoCContainer)
|
||||
{
|
||||
_tinyIoCContainer = tinyIoCContainer;
|
||||
}
|
||||
|
||||
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
|
||||
{
|
||||
Logger.Info("Starting Web Server");
|
||||
|
||||
if (RuntimeInfo.IsProduction)
|
||||
{
|
||||
DiagnosticsHook.Disable(pipelines);
|
||||
}
|
||||
|
||||
RegisterPipelines(pipelines);
|
||||
|
||||
container.Resolve<DatabaseTarget>().Register();
|
||||
}
|
||||
|
||||
private void RegisterPipelines(IPipelines pipelines)
|
||||
{
|
||||
var pipelineRegistrars = _tinyIoCContainer.ResolveAll<IRegisterNancyPipeline>().OrderBy(v => v.Order).ToList();
|
||||
|
||||
foreach (var registerNancyPipeline in pipelineRegistrars)
|
||||
{
|
||||
registerNancyPipeline.Register(pipelines);
|
||||
}
|
||||
}
|
||||
|
||||
protected override TinyIoCContainer GetApplicationContainer()
|
||||
{
|
||||
return _tinyIoCContainer;
|
||||
}
|
||||
|
||||
protected override Func<ITypeCatalog, NancyInternalConfiguration> InternalConfiguration
|
||||
{
|
||||
get
|
||||
{
|
||||
// We don't support Xml Serialization atm
|
||||
return NancyInternalConfiguration.WithOverrides(x =>
|
||||
{
|
||||
x.ResponseProcessors.Remove(typeof(ViewProcessor));
|
||||
x.ResponseProcessors.Remove(typeof(XmlProcessor));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public override void Configure(Nancy.Configuration.INancyEnvironment environment)
|
||||
{
|
||||
environment.Diagnostics(password: @"password");
|
||||
}
|
||||
|
||||
protected override byte[] FavIcon => null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user