protected HttpServer(IRavenHttpConfiguration configuration, IResourceStore resourceStore) { DefaultResourceStore = resourceStore; DefaultConfiguration = configuration; configuration.Container.SatisfyImportsOnce(this); foreach (var responder in RequestResponders) { responder.Value.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); } switch (configuration.AuthenticationMode.ToLowerInvariant()) { case "windows": requestAuthorizer = new WindowsRequestAuthorizer(); break; case "oauth": requestAuthorizer = new OAuthRequestAuthorizer(); break; default: throw new InvalidOperationException( string.Format("Unknown AuthenticationMode {0}. Options are Windows and OAuth", configuration.AuthenticationMode)); } requestAuthorizer.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); }
public HttpServer(InMemoryRavenConfiguration configuration, DocumentDatabase resourceStore) { RegisterHttpEndpointTarget(); DefaultResourceStore = resourceStore; DefaultConfiguration = configuration; configuration.Container.SatisfyImportsOnce(this); foreach (var responder in RequestResponders) { responder.Value.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); } switch (configuration.AuthenticationMode.ToLowerInvariant()) { case "windows": requestAuthorizer = new WindowsRequestAuthorizer(); break; case "oauth": requestAuthorizer = new OAuthRequestAuthorizer(); break; default: throw new InvalidOperationException( string.Format("Unknown AuthenticationMode {0}. Options are Windows and OAuth", configuration.AuthenticationMode)); } requestAuthorizer.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); RemoveTenantDatabase.Occured.Subscribe(TenantDatabaseRemoved); }
public HttpServer(InMemoryRavenConfiguration configuration, DocumentDatabase resourceStore) { HttpEndpointRegistration.RegisterHttpEndpointTarget(); SystemDatabase = resourceStore; SystemConfiguration = configuration; int val; if (int.TryParse(configuration.Settings["Raven/Tenants/MaxIdleTimeForTenantDatabase"], out val) == false) { val = 900; } maxTimeDatabaseCanBeIdle = TimeSpan.FromSeconds(val); if (int.TryParse(configuration.Settings["Raven/Tenants/FrequnecyToCheckForIdleDatabases"], out val) == false) { val = 60; } frequnecyToCheckForIdleDatabases = TimeSpan.FromSeconds(val); configuration.Container.SatisfyImportsOnce(this); InitializeRequestResponders(SystemDatabase); requestAuthorizer = new MixedModeRequestAuthorizer(); requestAuthorizer.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); }
public HttpServer(InMemoryRavenConfiguration configuration, DocumentDatabase resourceStore) { HttpEndpointRegistration.RegisterHttpEndpointTarget(); DefaultResourceStore = resourceStore; DefaultConfiguration = configuration; int val; if (int.TryParse(configuration.Settings["Raven/Tenants/MaxIdleTimeForTenantDatabase"], out val) == false) { val = 900; } maxTimeDatabaseCanBeIdle = TimeSpan.FromSeconds(val); if (int.TryParse(configuration.Settings["Raven/Tenants/FrequnecyToCheckForIdleDatabases"], out val) == false) { val = 60; } frequnecyToCheckForIdleDatabases = TimeSpan.FromSeconds(val); configuration.Container.SatisfyImportsOnce(this); foreach (var responder in RequestResponders) { responder.Value.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); } switch (configuration.AuthenticationMode.ToLowerInvariant()) { case "windows": requestAuthorizer = new WindowsRequestAuthorizer(); break; case "oauth": requestAuthorizer = new OAuthRequestAuthorizer(); break; case "noauth": requestAuthorizer = new NoAuthRequestAuthorizer(); break; default: throw new InvalidOperationException( string.Format("Unknown AuthenticationMode {0}. Options are Windows, OAuth, and NoAuth", configuration.AuthenticationMode)); } requestAuthorizer.Initialize(() => currentDatabase.Value, () => currentConfiguration.Value, () => currentTenantId.Value, this); RemoveTenantDatabase.Occured.Subscribe(TenantDatabaseRemoved); }