From 839dbea6d98297879aa8b0032d0bcc709229af99 Mon Sep 17 00:00:00 2001 From: Kristian Hellang Date: Mon, 19 Jan 2015 12:11:52 +0100 Subject: [PATCH] Pass NancyContext to CreateRequestContainer --- src/Nancy.Testing/ConfigurableBootstrapper.cs | 3 ++- .../NancyBootstrapperWithRequestContainerBaseFixture.cs | 2 +- .../NancyBootstrapperWithRequestContainerBase.cs | 6 ++++-- src/Nancy/DefaultNancyBootstrapper.cs | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Nancy.Testing/ConfigurableBootstrapper.cs b/src/Nancy.Testing/ConfigurableBootstrapper.cs index a05c05af73..b4f050a35b 100644 --- a/src/Nancy.Testing/ConfigurableBootstrapper.cs +++ b/src/Nancy.Testing/ConfigurableBootstrapper.cs @@ -321,8 +321,9 @@ protected override void ConfigureApplicationContainer(TinyIoCContainer container /// /// Creates a per request child/nested container /// + /// Current context /// Request container instance - protected override TinyIoCContainer CreateRequestContainer() + protected override TinyIoCContainer CreateRequestContainer(NancyContext context) { return this.ApplicationContainer.GetChildContainer(); } diff --git a/src/Nancy.Tests/Unit/Bootstrapper/NancyBootstrapperWithRequestContainerBaseFixture.cs b/src/Nancy.Tests/Unit/Bootstrapper/NancyBootstrapperWithRequestContainerBaseFixture.cs index 6f30881c81..09da18cc66 100644 --- a/src/Nancy.Tests/Unit/Bootstrapper/NancyBootstrapperWithRequestContainerBaseFixture.cs +++ b/src/Nancy.Tests/Unit/Bootstrapper/NancyBootstrapperWithRequestContainerBaseFixture.cs @@ -330,7 +330,7 @@ protected override void RegisterCollectionTypes( } } - protected override FakeContainer CreateRequestContainer() + protected override FakeContainer CreateRequestContainer(NancyContext context) { return new FakeContainer(this.ApplicationContainer); } diff --git a/src/Nancy/Bootstrapper/NancyBootstrapperWithRequestContainerBase.cs b/src/Nancy/Bootstrapper/NancyBootstrapperWithRequestContainerBase.cs index 2ebaaf6b40..8783e02022 100644 --- a/src/Nancy/Bootstrapper/NancyBootstrapperWithRequestContainerBase.cs +++ b/src/Nancy/Bootstrapper/NancyBootstrapperWithRequestContainerBase.cs @@ -2,6 +2,7 @@ namespace Nancy.Bootstrapper { using System; using System.Collections.Generic; + using System.ComponentModel; using System.Linq; /// @@ -153,7 +154,7 @@ protected TContainer GetConfiguredRequestContainer(NancyContext context) if (requestContainer == null) { - requestContainer = this.CreateRequestContainer(); + requestContainer = this.CreateRequestContainer(context); context.Items[this.ContextKey] = requestContainer; @@ -188,8 +189,9 @@ protected override sealed void RegisterModules(TContainer container, IEnumerable /// /// Creates a per request child/nested container /// + /// Current context /// Request container instance - protected abstract TContainer CreateRequestContainer(); + protected abstract TContainer CreateRequestContainer(NancyContext context); /// /// Register the given module types into the request container diff --git a/src/Nancy/DefaultNancyBootstrapper.cs b/src/Nancy/DefaultNancyBootstrapper.cs index d84516433f..64e1050b58 100755 --- a/src/Nancy/DefaultNancyBootstrapper.cs +++ b/src/Nancy/DefaultNancyBootstrapper.cs @@ -176,8 +176,9 @@ protected override void RegisterInstances(TinyIoCContainer container, IEnumerabl /// /// Creates a per request child/nested container /// + /// Current context /// Request container instance - protected override sealed TinyIoCContainer CreateRequestContainer() + protected override TinyIoCContainer CreateRequestContainer(NancyContext context) { return this.ApplicationContainer.GetChildContainer(); }