Browse Source

Https certs and bugfixes

pull/509/head
Sebastian 6 years ago
parent
commit
77de569272
  1. 3
      .gitignore
  2. 5
      backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppClients.cs
  3. 5
      backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppPatterns.cs
  4. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Apps/Roles.cs
  5. 9
      backend/src/Squidex/Areas/Frontend/Middlewares/WebpackMiddleware.cs
  6. 4
      backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/AppClientsTests.cs
  7. 4
      backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/AppPatternsTests.cs
  8. 5
      backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/RolesTests.cs
  9. 12
      frontend/app-config/webpack.config.js
  10. 4
      frontend/app/framework/angular/image-source.directive.ts
  11. 4
      frontend/app/framework/utils/string-helper.ts
  12. 2
      frontend/app/shared/services/assets.service.ts

3
.gitignore

@ -27,3 +27,6 @@ node_modules/
appsettings.Development.json
appsettings.Production.json
launchSettings.json
/frontend/app-config/localhost-key.pem
/frontend/app-config/localhost.pem

5
backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppClients.cs

@ -40,11 +40,6 @@ namespace Squidex.Domain.Apps.Core.Apps
Guard.NotNullOrEmpty(id);
Guard.NotNull(client);
if (ContainsKey(id))
{
throw new ArgumentException("Id already exists.", nameof(id));
}
return With<AppClients>(id, client);
}

5
backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppPatterns.cs

@ -37,11 +37,6 @@ namespace Squidex.Domain.Apps.Core.Apps
{
var newPattern = new AppPattern(name, pattern, message);
if (ContainsKey(id))
{
throw new ArgumentException("Id already exists.", nameof(id));
}
return With<AppPatterns>(id, newPattern);
}

2
backend/src/Squidex.Domain.Apps.Core.Model/Apps/Roles.cs

@ -93,7 +93,7 @@ namespace Squidex.Domain.Apps.Core.Apps
if (inner.ContainsKey(name))
{
throw new ArgumentException("Name already exists.", nameof(name));
return this;
}
if (IsDefault(name))

9
backend/src/Squidex/Areas/Frontend/Middlewares/WebpackMiddleware.cs

@ -15,7 +15,7 @@ namespace Squidex.Areas.Frontend.Middlewares
{
public sealed class WebpackMiddleware
{
private const string WebpackUrl = "http://localhost:3000/index.html";
private const string WebpackUrl = "https://localhost:3000/index.html";
private readonly RequestDelegate next;
@ -28,7 +28,12 @@ namespace Squidex.Areas.Frontend.Middlewares
{
if (context.IsIndex() && context.Response.StatusCode != 304)
{
using (var client = new HttpClient())
var handler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, error) => true
};
using (var client = new HttpClient(handler))
{
var result = await client.GetAsync(WebpackUrl);

4
backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/AppClientsTests.cs

@ -43,11 +43,11 @@ namespace Squidex.Domain.Apps.Core.Model.Apps
}
[Fact]
public void Should_throw_exception_if_assigning_client_object_with_same_id()
public void Should_do_nothing_if_assigning_client_object_with_same_id()
{
var clients_1 = clients_0.Add("2", "my-secret");
Assert.Throws<ArgumentException>(() => clients_1.Add("2", new AppClient("my-name", "my-secret", "my-role")));
clients_1.Add("2", new AppClient("my-name", "my-secret", "my-role"));
}
[Fact]

4
backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/AppPatternsTests.cs

@ -35,11 +35,11 @@ namespace Squidex.Domain.Apps.Core.Model.Apps
}
[Fact]
public void Should_throw_exception_if_add_pattern_with_same_id()
public void Should_do_nothing_if_adding_pattern_with_same_id()
{
var patterns_1 = patterns_0.Add(id, "NewPattern", "New Pattern", "Message");
Assert.Throws<ArgumentException>(() => patterns_1.Add(id, "NewPattern", "New Pattern", "Message"));
patterns_1.Add(id, "NewPattern", "New Pattern", "Message");
}
[Fact]

5
backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/RolesTests.cs

@ -45,11 +45,12 @@ namespace Squidex.Domain.Apps.Core.Model.Apps
}
[Fact]
public void Should_throw_exception_if_add_role_with_same_name()
public void Should_return_same_instance_if_adding_role_with_existing_name()
{
var roles_1 = roles_0.Add(role);
var roles_2 = roles_1.Add(role);
Assert.Throws<ArgumentException>(() => roles_1.Add(role));
Assert.Same(roles_1, roles_2);
}
[Fact]

12
frontend/app-config/webpack.config.js

@ -1,5 +1,6 @@
const webpack = require('webpack'),
path = require('path');
path = require('path'),
fs = require('fs');
const appRoot = path.resolve(__dirname, '..');
@ -209,8 +210,11 @@ module.exports = function (env) {
headers: {
'Access-Control-Allow-Origin': '*'
},
https: true,
historyApiFallback: true
https: {
key: fs.readFileSync(path.resolve(__dirname, 'localhost-key.pem')),
cert: fs.readFileSync(path.resolve(__dirname, 'localhost.pem')),
},
historyApiFallback: true,
}
};
@ -257,7 +261,7 @@ module.exports = function (env) {
/**
* Set the public path, because we are running the website from another port (5000).
*/
publicPath: 'http://localhost:3000/'
publicPath: 'https://localhost:3000/'
};
}

4
frontend/app/framework/angular/image-source.directive.ts

@ -125,7 +125,7 @@ export class ImageSourceDirective extends ResourceOwner implements OnChanges, On
if (w > 0 && h > 0) {
let source = this.imageSource;
source = StringHelper.appendToUrl(source, `${this.imageSource}&width=${w}&height=${h}&mode=Pad&nofocus`);
source = StringHelper.appendToUrl(source, `width=${w}&height=${h}&mode=Pad&nofocus`);
if (this.loadQuery) {
source = StringHelper.appendToUrl(source, 'q', this.loadQuery);
@ -138,7 +138,7 @@ export class ImageSourceDirective extends ResourceOwner implements OnChanges, On
private retryLoadingImage() {
this.loadRetries++;
if (this.loadRetries <= 10) {
if (this.loadRetries <= 3) {
this.loadTimer =
setTimeout(() => {
this.loadQuery = MathHelper.guid();

4
frontend/app/framework/utils/string-helper.ts

@ -20,8 +20,8 @@ export module StringHelper {
return '';
}
export function appendToUrl(url: string, key: string, value?: any) {
if (url.indexOf('?') > 0) {
export function appendToUrl(url: string, key: string, value?: any, ambersand = false) {
if (url.indexOf('?') >= 0 || ambersand) {
url += '&';
} else {
url += '?';

2
frontend/app/shared/services/assets.service.ts

@ -216,7 +216,7 @@ export class AssetsService {
fullQuery = `q=${encodeQuery(queryObj)}`;
if (parentId) {
fullQuery = StringHelper.appendToUrl(fullQuery, 'parentId', parentId);
fullQuery = StringHelper.appendToUrl(fullQuery, 'parentId', parentId, true);
}
}

Loading…
Cancel
Save