Skip to content
This repository was archived by the owner on Jun 30, 2021. It is now read-only.

Commit b911134

Browse files
committed
Fixes #79,
Typo fix
1 parent a7437b2 commit b911134

5 files changed

Lines changed: 50 additions & 26 deletions

File tree

src/Simplify.Web.Tests/Core/RequestHandlerTests.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,25 @@ public void Initialize()
2020
{
2121
_controllersRequestHandler = new Mock<IControllersRequestHandler>();
2222
_staticFilesRequestHandler = new Mock<IStaticFilesRequestHandler>();
23-
_requestHandler = new RequestHandler(_controllersRequestHandler.Object, _staticFilesRequestHandler.Object);
23+
_staticFilesRequestHandler = new Mock<IStaticFilesRequestHandler>();
24+
_requestHandler = new RequestHandler(_controllersRequestHandler.Object, _staticFilesRequestHandler.Object, true);
25+
}
26+
27+
[Test]
28+
public void ProcessRequest_StaticFilesDisabledButFound_StaticFilesRequestHandlerNotExecuted()
29+
{
30+
// Assign
31+
_requestHandler = new RequestHandler(_controllersRequestHandler.Object, _staticFilesRequestHandler.Object, false);
32+
_staticFilesRequestHandler.Setup(x => x.IsStaticFileRoutePath(It.IsAny<HttpContext>())).Returns(true);
33+
34+
// Act
35+
_requestHandler.ProcessRequest(null, null);
36+
37+
// Assert
38+
39+
_controllersRequestHandler.Verify(
40+
x => x.ProcessRequest(It.IsAny<IDIContainerProvider>(), It.IsAny<HttpContext>()), Times.Once);
41+
_staticFilesRequestHandler.Verify(x => x.ProcessRequest(It.IsAny<HttpContext>()), Times.Never);
2442
}
2543

2644
[Test]

src/Simplify.Web/Bootstrapper/BaseBootstrapper.cs

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public class BaseBootstrapper
4444
private Type _controllersRequestHandlerType;
4545
private Type _staticFileResponseFactoryType;
4646
private Type _staticFilesRequestHandlerType;
47-
private Type _requestHandlerType;
4847
private Type _stopwatchProviderType;
4948
private Type _webContextProviderType;
5049

@@ -91,7 +90,7 @@ public void Register()
9190
RegisterContextVariablesSetter();
9291
RegisterWebContextProvider();
9392
RegisterRedirector();
94-
RegisterModelHander();
93+
RegisterModelHandler();
9594

9695
var ignoredTypes = GetIgnoredTypes();
9796

@@ -261,14 +260,6 @@ private static IEnumerable<Type> GetIgnoredTypes()
261260
/// </value>
262261
public Type StaticFilesRequestHandlerType => _staticFilesRequestHandlerType ?? typeof(StaticFilesRequestHandler);
263262

264-
/// <summary>
265-
/// Gets the type of the request handler.
266-
/// </summary>
267-
/// <value>
268-
/// The type of the request handler.
269-
/// </value>
270-
public Type RequestHandlerType => _requestHandlerType ?? typeof(RequestHandler);
271-
272263
/// <summary>
273264
/// Gets the type of the stopwatch provider.
274265
/// </summary>
@@ -459,16 +450,6 @@ public void SetStaticFilesRequestHandlerType<T>()
459450
_staticFilesRequestHandlerType = typeof(T);
460451
}
461452

462-
/// <summary>
463-
/// Sets the type of the request handler.
464-
/// </summary>
465-
/// <typeparam name="T"></typeparam>
466-
public void SetRequestHandlerType<T>()
467-
where T : IRequestHandler
468-
{
469-
_requestHandlerType = typeof(T);
470-
}
471-
472453
/// <summary>
473454
/// Sets the type of the stopwatch provider.
474455
/// </summary>
@@ -749,7 +730,10 @@ public virtual void RegisterStaticFilesRequestHandler()
749730
/// </summary>
750731
public virtual void RegisterRequestHandler()
751732
{
752-
DIContainer.Current.Register<IRequestHandler>(RequestHandlerType);
733+
DIContainer.Current.Register<IRequestHandler>(
734+
p =>
735+
new RequestHandler(p.Resolve<IControllersRequestHandler>(),
736+
p.Resolve<IStaticFilesRequestHandler>(), p.Resolve<ISimplifyWebSettings>().StaticFilesEnabled));
753737
}
754738

755739
/// <summary>
@@ -787,9 +771,9 @@ public virtual void RegisterRedirector()
787771
}
788772

789773
/// <summary>
790-
/// Registers the model hander.
774+
/// Registers the model handler.
791775
/// </summary>
792-
public virtual void RegisterModelHander()
776+
public virtual void RegisterModelHandler()
793777
{
794778
DIContainer.Current.Register<IModelHandler>(p => new HttpModelHandler(p.Resolve<IWebContextProvider>().Get()));
795779
}

src/Simplify.Web/Core/RequestHandler.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,19 @@ public class RequestHandler : IRequestHandler
1212
{
1313
private readonly IControllersRequestHandler _controllersRequestHandler;
1414
private readonly IStaticFilesRequestHandler _staticFilesRequestHandler;
15+
private readonly bool _staticFilesHandling;
1516

1617
/// <summary>
1718
/// Initializes a new instance of the <see cref="RequestHandler" /> class.
1819
/// </summary>
1920
/// <param name="controllersRequestHandler">The controllers request handler.</param>
2021
/// <param name="staticFilesRequestHandler">The static files request handler.</param>
21-
public RequestHandler(IControllersRequestHandler controllersRequestHandler, IStaticFilesRequestHandler staticFilesRequestHandler)
22+
/// <param name="staticFilesHandling">Sets a value indicating whether Simplify.Web static files processing is enabled or controllers requests should be processed only.</param>
23+
public RequestHandler(IControllersRequestHandler controllersRequestHandler, IStaticFilesRequestHandler staticFilesRequestHandler, bool staticFilesHandling)
2224
{
2325
_controllersRequestHandler = controllersRequestHandler;
2426
_staticFilesRequestHandler = staticFilesRequestHandler;
27+
_staticFilesHandling = staticFilesHandling;
2528
}
2629

2730
/// <summary>
@@ -32,7 +35,7 @@ public RequestHandler(IControllersRequestHandler controllersRequestHandler, ISta
3235
/// <returns></returns>
3336
public RequestHandlingResult ProcessRequest(IDIResolver resolver, HttpContext context)
3437
{
35-
return _staticFilesRequestHandler.IsStaticFileRoutePath(context) ?
38+
return _staticFilesHandling && _staticFilesRequestHandler.IsStaticFileRoutePath(context) ?
3639
_staticFilesRequestHandler.ProcessRequest(context) :
3740
_controllersRequestHandler.ProcessRequest(resolver, context);
3841
}

src/Simplify.Web/Settings/ISimplifyWebSettings.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ public interface ISimplifyWebSettings : IHideObjectMembers
6767
/// </summary>
6868
string DataPath { get; }
6969

70+
/// <summary>
71+
/// Gets a value indicating whether Simplify.Web static files processing is enabled or controllers requests should be processed only
72+
/// </summary>
73+
bool StaticFilesEnabled { get; }
74+
7075
/// <summary>
7176
/// Gets the static files paths.
7277
/// </summary>

src/Simplify.Web/Settings/SimplifyWebSettings.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ namespace Simplify.Web.Settings
88
/// <summary>
99
/// Simplify.Web settings
1010
/// </summary>
11+
/// <seealso cref="Simplify.Web.Settings.ISimplifyWebSettings" />
1112
public sealed class SimplifyWebSettings : ISimplifyWebSettings
1213
{
1314
/// <summary>
@@ -90,6 +91,11 @@ public SimplifyWebSettings(IConfiguration configuration)
9091
/// </summary>
9192
public string DataPath { get; private set; } = "App_Data";
9293

94+
/// <summary>
95+
/// Gets a value indicating whether Simplify.Web static files processing is enabled or controllers requests should be processed only
96+
/// </summary>
97+
public bool StaticFilesEnabled { get; private set; } = true;
98+
9399
/// <summary>
94100
/// Gets the static files paths.
95101
/// </summary>
@@ -212,6 +218,14 @@ private void LoadOtherSettings(IConfiguration config)
212218
if (!string.IsNullOrEmpty(dataPath))
213219
DataPath = dataPath;
214220

221+
var staticFilesEnabled = config["StaticFilesEnabled"];
222+
223+
if (!string.IsNullOrEmpty(staticFilesEnabled))
224+
{
225+
if (bool.TryParse(staticFilesEnabled, out var buffer))
226+
StaticFilesEnabled = buffer;
227+
}
228+
215229
var staticFilesPaths = config["StaticFilesPaths"];
216230

217231
if (!string.IsNullOrEmpty(staticFilesPaths))

0 commit comments

Comments
 (0)