Skip to content

Commit 9536832

Browse files
committed
Merge branch 'release/4.1.2' into master
2 parents 31aef41 + 4d05471 commit 9536832

File tree

12 files changed

+55
-33
lines changed

12 files changed

+55
-33
lines changed

src/SampleApps/SampleApp.Angular/SampleApp.Angular.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
88
</PropertyGroup>
99
<ItemGroup>
10-
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.3" />
11-
<PackageReference Include="System.Text.Json" Version="4.7.1" />
10+
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.7" />
11+
<PackageReference Include="System.Text.Json" Version="4.7.2" />
1212
<ProjectReference Include="..\..\Simplify.Web\Simplify.Web.csproj" />
1313
</ItemGroup>
1414
<ItemGroup>

src/SampleApps/SampleApp.Classic.Tests/SampleApp.Classic.Tests.csproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
</PropertyGroup>
1010
<ItemGroup>
1111
<PackageReference Include="Appveyor.TestLogger" Version="2.0.0" />
12-
<PackageReference Include="coverlet.msbuild" Version="2.8.1" />
13-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
12+
<PackageReference Include="coverlet.msbuild" Version="2.9.0" />
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
1414
<PackageReference Include="NUnit" Version="3.12.0" />
15-
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
16-
<PackageReference Include="Moq" Version="4.14.1" />
15+
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
16+
<PackageReference Include="Moq" Version="4.14.5" />
1717
<ProjectReference Include="..\..\Simplify.Web\Simplify.Web.csproj" />
1818
<ProjectReference Include="..\SampleApp.Classic\SampleApp.Classic.csproj" />
1919
</ItemGroup>

src/SampleApps/SampleApp.Vue.Element/SampleApp.Vue.Element.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
66
</PropertyGroup>
77
<ItemGroup>
8-
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.3" />
8+
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.7" />
99
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
1010
<ProjectReference Include="..\..\Simplify.Web\Simplify.Web.csproj" />
1111
</ItemGroup>

src/SampleApps/SampleApp.Vue/SampleApp.Vue.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
66
</PropertyGroup>
77
<ItemGroup>
8-
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.3" />
9-
<PackageReference Include="System.Text.Json" Version="4.7.1" />
8+
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.7" />
9+
<PackageReference Include="System.Text.Json" Version="4.7.2" />
1010
<ProjectReference Include="..\..\Simplify.Web\Simplify.Web.csproj" />
1111
</ItemGroup>
1212
<ItemGroup>

src/Simplify.Web.Tests/Core/Controllers/ControllersProcessorTests.cs

+14-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using Simplify.Web.Core.Controllers;
1313
using Simplify.Web.Core.Controllers.Execution;
1414
using Simplify.Web.Meta;
15+
using Simplify.Web.Modules;
1516
using Simplify.Web.Routing;
1617
using Simplify.Web.Tests.TestEntities;
1718

@@ -25,6 +26,7 @@ public class ControllersProcessorTests
2526
private ControllersProcessor _processor;
2627
private Mock<IControllersAgent> _agent;
2728
private Mock<IControllerExecutor> _controllersExecutor;
29+
private Mock<IRedirector> _redirector;
2830
private Mock<HttpContext> _context;
2931

3032
private ControllerMetaData _metaData;
@@ -34,7 +36,8 @@ public void Initialize()
3436
{
3537
_agent = new Mock<IControllersAgent>();
3638
_controllersExecutor = new Mock<IControllerExecutor>();
37-
_processor = new ControllersProcessor(_agent.Object, _controllersExecutor.Object);
39+
_redirector = new Mock<IRedirector>();
40+
_processor = new ControllersProcessor(_agent.Object, _controllersExecutor.Object, _redirector.Object);
3841

3942
_context = new Mock<HttpContext>();
4043

@@ -49,6 +52,10 @@ public void Initialize()
4952

5053
_agent.Setup(x => x.IsSecurityRulesViolated(It.IsAny<IControllerMetaData>(), It.IsAny<ClaimsPrincipal>())).Returns(SecurityRuleCheckResult.Ok);
5154

55+
// Setup current URL
56+
57+
_context.SetupGet(x => x.Request.Scheme).Returns("http");
58+
_context.SetupGet(x => x.Request.Host).Returns(new HostString("localhost", 8080));
5259
_context.SetupGet(x => x.Request.Path).Returns(new PathString("/foo/bar"));
5360
_context.SetupGet(x => x.Request.Method).Returns("GET");
5461
}
@@ -94,6 +101,8 @@ public async Task ProcessControllers_NoControllersMatchedButHave404Controller_40
94101
_controllersExecutor.Verify(x =>
95102
x.Execute(It.Is<IControllerMetaData>(t => t.ControllerType == typeof(TestController2)), It.IsAny<IDIContainerProvider>(),
96103
It.IsAny<HttpContext>(), It.Is<IDictionary<string, Object>>(d => d == null)));
104+
105+
_redirector.VerifySet(x => x.PreviousPageUrl = It.IsAny<string>(), Times.Never);
97106
}
98107

99108
[Test]
@@ -209,6 +218,8 @@ public async Task ProcessControllers_StandardControllerMatched_Executed()
209218
x.Execute(It.Is<IControllerMetaData>(t => t.ControllerType == typeof(TestController2)), It.IsAny<IDIContainerProvider>(),
210219
It.IsAny<HttpContext>(), It.Is<IDictionary<string, Object>>(d => d == null)), Times.Never);
211220

221+
_redirector.Verify(x => x.SetPreviousPageUrlToCurrentPage());
222+
212223
// Check
213224
//_controllersExecutor.Verify(x => x.ProcessAsyncControllersResponses(It.IsAny<IDIContainerProvider>()));
214225
}
@@ -349,6 +360,8 @@ public async Task ProcessControllers_ForbiddenHave403Controller_403ControllerExe
349360
x.Execute(It.Is<IControllerMetaData>(t => t.ControllerType == typeof(TestController2)), It.IsAny<IDIContainerProvider>(),
350361
It.IsAny<HttpContext>(), It.Is<IDictionary<string, Object>>(d => d == null)));
351362
_agent.Setup(x => x.IsSecurityRulesViolated(It.IsAny<IControllerMetaData>(), It.IsAny<ClaimsPrincipal>()));
363+
364+
_redirector.VerifySet(x => x.PreviousPageUrl = It.IsAny<string>(), Times.Never);
352365
}
353366

354367
[Test]

src/Simplify.Web.Tests/Core/PageAssembly/PageProcessorTests.cs

+1-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using Simplify.DI;
77
using Simplify.Web.Core;
88
using Simplify.Web.Core.PageAssembly;
9-
using Simplify.Web.Modules;
109

1110
namespace Simplify.Web.Tests.Core.PageAssembly
1211
{
@@ -16,7 +15,6 @@ public class PageProcessorTests
1615
private PageProcessor _processor;
1716
private Mock<IPageBuilder> _pageBuilder;
1817
private Mock<IResponseWriter> _responseWriter;
19-
private Mock<IRedirector> _redirector;
2018

2119
private Mock<HttpContext> _context;
2220

@@ -25,8 +23,7 @@ public void Initialize()
2523
{
2624
_pageBuilder = new Mock<IPageBuilder>();
2725
_responseWriter = new Mock<IResponseWriter>();
28-
_redirector = new Mock<IRedirector>();
29-
_processor = new PageProcessor(_pageBuilder.Object, _responseWriter.Object, _redirector.Object);
26+
_processor = new PageProcessor(_pageBuilder.Object, _responseWriter.Object);
3027

3128
_context = new Mock<HttpContext>();
3229

@@ -50,7 +47,6 @@ public void Process_Ok_PageBuiltWithOutput()
5047

5148
_pageBuilder.Verify(x => x.Build(It.IsAny<IDIContainerProvider>()));
5249
_responseWriter.Verify(x => x.WriteAsync(It.Is<string>(d => d == "Foo"), It.Is<HttpResponse>(d => d == _context.Object.Response)));
53-
_redirector.VerifySet(x => x.PreviousPageUrl = It.Is<string>(d => d == "http://localhost:8080/test"));
5450
_context.VerifySet(x => x.Response.ContentType = It.Is<string>(s => s == "text/html"));
5551
}
5652
}

src/Simplify.Web.Tests/Simplify.Web.Tests.csproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
</PropertyGroup>
1212
<ItemGroup>
1313
<PackageReference Include="Appveyor.TestLogger" Version="2.0.0" />
14-
<PackageReference Include="coverlet.msbuild" Version="2.8.1" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
16-
<PackageReference Include="Moq" Version="4.14.1" />
14+
<PackageReference Include="coverlet.msbuild" Version="2.9.0" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
16+
<PackageReference Include="Moq" Version="4.14.5" />
1717
<PackageReference Include="NUnit" Version="3.12.0" />
18-
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
18+
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
1919
<PackageReference Include="Simplify.Xml" Version="1.1.0" />
2020
<ProjectReference Include="..\Simplify.Web\Simplify.Web.csproj" />
2121
</ItemGroup>

src/Simplify.Web/Core/Controllers/ControllersProcessor.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Simplify.DI;
44
using Simplify.Web.Core.Controllers.Execution;
55
using Simplify.Web.Meta;
6+
using Simplify.Web.Modules;
67

78
namespace Simplify.Web.Core.Controllers
89
{
@@ -13,16 +14,18 @@ public class ControllersProcessor : IControllersProcessor
1314
{
1415
private readonly IControllersAgent _agent;
1516
private readonly IControllerExecutor _controllerExecutor;
17+
private readonly IRedirector _redirector;
1618

1719
/// <summary>
1820
/// Initializes a new instance of the <see cref="ControllersProcessor" /> class.
1921
/// </summary>
2022
/// <param name="controllersAgent">The controllers agent.</param>
2123
/// <param name="controllerExecutor">The controller executor.</param>
22-
public ControllersProcessor(IControllersAgent controllersAgent, IControllerExecutor controllerExecutor)
24+
public ControllersProcessor(IControllersAgent controllersAgent, IControllerExecutor controllerExecutor, IRedirector redirector)
2325
{
2426
_agent = controllersAgent;
2527
_controllerExecutor = controllerExecutor;
28+
_redirector = redirector;
2629
}
2730

2831
/// <summary>
@@ -66,6 +69,8 @@ public async Task<ControllersProcessorResult> ProcessControllers(IDIResolver res
6669
if (result != ControllersProcessorResult.Ok)
6770
return result;
6871
}
72+
else
73+
_redirector.SetPreviousPageUrlToCurrentPage();
6974

7075
return ControllersProcessorResult.Ok;
7176
}

src/Simplify.Web/Core/PageAssembly/PageProcessor.cs

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using System.Threading.Tasks;
22
using Microsoft.AspNetCore.Http;
3-
using Microsoft.AspNetCore.Http.Extensions;
43
using Simplify.DI;
5-
using Simplify.Web.Modules;
64

75
namespace Simplify.Web.Core.PageAssembly
86
{
@@ -13,19 +11,16 @@ public class PageProcessor : IPageProcessor
1311
{
1412
private readonly IPageBuilder _pageBuilder;
1513
private readonly IResponseWriter _responseWriter;
16-
private readonly IRedirector _redirector;
1714

1815
/// <summary>
1916
/// Initializes a new instance of the <see cref="PageProcessor"/> class.
2017
/// </summary>
2118
/// <param name="pageBuilder">The page builder.</param>
2219
/// <param name="responseWriter">The response writer.</param>
23-
/// <param name="redirector">The redirector.</param>
24-
public PageProcessor(IPageBuilder pageBuilder, IResponseWriter responseWriter, IRedirector redirector)
20+
public PageProcessor(IPageBuilder pageBuilder, IResponseWriter responseWriter)
2521
{
2622
_pageBuilder = pageBuilder;
2723
_responseWriter = responseWriter;
28-
_redirector = redirector;
2924
}
3025

3126
/// <summary>
@@ -36,7 +31,6 @@ public PageProcessor(IPageBuilder pageBuilder, IResponseWriter responseWriter, I
3631
public async Task<RequestHandlingStatus> ProcessPage(IDIResolver resolver, HttpContext context)
3732
{
3833
context.Response.ContentType = "text/html";
39-
_redirector.PreviousPageUrl = context.Request.GetEncodedUrl();
4034

4135
await _responseWriter.WriteAsync(_pageBuilder.Build(resolver), context.Response);
4236

src/Simplify.Web/Modules/IRedirector.cs

+5
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ public interface IRedirector
4949
/// </summary>
5050
void SetLoginReturnUrlFromCurrentUri();
5151

52+
/// <summary>
53+
/// Sets the previous page URL to current page.
54+
/// </summary>
55+
void SetPreviousPageUrlToCurrentPage();
56+
5257
/// <summary>
5358
/// Navigates the client by specifying redirection type.
5459
/// </summary>

src/Simplify.Web/Modules/Redirector.cs

+8
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,14 @@ public void SetLoginReturnUrlFromCurrentUri()
105105
LoginReturnUrl = _context.Request.GetEncodedUrl();
106106
}
107107

108+
/// <summary>
109+
/// Sets the previous page URL to current page.
110+
/// </summary>
111+
public void SetPreviousPageUrlToCurrentPage()
112+
{
113+
PreviousPageUrl = _context.Request.GetEncodedUrl();
114+
}
115+
108116
/// <summary>
109117
/// Navigates the client by specifying redirection type.
110118
/// </summary>

src/Simplify.Web/Simplify.Web.csproj

+7-6
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
<Product>Simplify</Product>
88
<Description>Lightweight and fast .NET web-framework based on MVC and OWIN</Description>
99
<Copyright>Licensed under LGPL</Copyright>
10-
<Version>4.1.1</Version>
10+
<Version>4.1.2</Version>
1111
<PackageProjectUrl>https://web.simplifynet.dev</PackageProjectUrl>
1212
<PackageIconUrl>https://raw.githubusercontent.com/SimplifyNet/Images/master/LogoWeb32x32.png</PackageIconUrl>
1313
<PublishRepositoryUrl>true</PublishRepositoryUrl>
1414
<PackageTags>.NET web-framework MVC DI OWIN</PackageTags>
1515
<PackageReleaseNotes>
16+
Bug Fixes
17+
* Disable setting PreviousPageUrl on 403, 404 controllers (#90)
1618
Updates
17-
* Upgrade to Simplify.DI 4.0.3
18-
* Internal upgrade to Simplify.Xml.Sources 1.1.1
19+
* Upgrade to Simplify.DI 4.0.7
1920
</PackageReleaseNotes>
2021
<OutputPath>bin\Any CPU\$(Configuration)\</OutputPath>
2122
<EmbedUntrackedSources>true</EmbedUntrackedSources>
@@ -29,8 +30,8 @@
2930
</ItemGroup>
3031
<ItemGroup>
3132
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
32-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.3" />
33-
<PackageReference Include="Simplify.DI" Version="4.0.3" />
33+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.7" />
34+
<PackageReference Include="Simplify.DI" Version="4.0.7" />
3435
<PackageReference Include="Simplify.Templates" Version="2.0.0" />
3536
<PackageReference Include="Simplify.String.Sources" Version="1.2.1" PrivateAssets="All" />
3637
<PackageReference Include="Simplify.System.Sources" Version="1.2.1" PrivateAssets="All" />
@@ -44,6 +45,6 @@
4445
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
4546
<PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" />
4647
<PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="2.2.0" />
47-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.3" />
48+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.7" />
4849
</ItemGroup>
4950
</Project>

0 commit comments

Comments
 (0)