From 7e4ac8691c957b715f74e30aec60d0e32c51d991 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Mon, 20 Feb 2023 09:51:27 +0800 Subject: [PATCH 1/6] feat(webhooks): add default http headers. --- .../Abp/Webhooks/AbpWebhooksOptions.cs | 23 +++++++++++++++++++ .../Abp/Webhooks/DefaultWebhookSender.cs | 21 +++++++++++++++-- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks.Core/LINGYUN/Abp/Webhooks/AbpWebhooksOptions.cs b/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks.Core/LINGYUN/Abp/Webhooks/AbpWebhooksOptions.cs index 1411be14f..137834908 100644 --- a/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks.Core/LINGYUN/Abp/Webhooks/AbpWebhooksOptions.cs +++ b/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks.Core/LINGYUN/Abp/Webhooks/AbpWebhooksOptions.cs @@ -28,6 +28,10 @@ public class AbpWebhooksOptions public HashSet DeletedWebhooks { get; } public HashSet DeletedWebhookGroups { get; } + /// + /// 默认请求头 + /// + public IDictionary DefaultHttpHeaders { get; } public AbpWebhooksOptions() { @@ -39,5 +43,24 @@ public class AbpWebhooksOptions DeletedWebhooks = new HashSet(); DeletedWebhookGroups = new HashSet(); + + DefaultHttpHeaders = new Dictionary + { + // 取消响应内容包装 + { "_AbpDontWrapResult", "true" }, + // TODO: 可能跨域影响 + // { "X-Requested-With", "XMLHttpRequest" }, + // 标识来源 + { "X-Requested-From", "abp-webhooks" }, + }; + } + + public void AddHeader(string key, string value) + { + if (value.IsNullOrWhiteSpace()) + { + return; + } + DefaultHttpHeaders[key] = value; } } diff --git a/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks/LINGYUN/Abp/Webhooks/DefaultWebhookSender.cs b/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks/LINGYUN/Abp/Webhooks/DefaultWebhookSender.cs index 5bf66f408..9cfb6a030 100644 --- a/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks/LINGYUN/Abp/Webhooks/DefaultWebhookSender.cs +++ b/aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks/LINGYUN/Abp/Webhooks/DefaultWebhookSender.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; using System; using System.Collections.Generic; using System.Linq; @@ -15,6 +16,7 @@ namespace LINGYUN.Abp.Webhooks { public ILogger Logger { protected get; set; } + private readonly AbpWebhooksOptions _options; private readonly IWebhookManager _webhookManager; private readonly IHttpClientFactory _httpClientFactory; @@ -22,8 +24,10 @@ namespace LINGYUN.Abp.Webhooks public DefaultWebhookSender( IWebhookManager webhookManager, - IHttpClientFactory httpClientFactory) + IHttpClientFactory httpClientFactory, + IOptions options) { + _options = options.Value; _webhookManager = webhookManager; _httpClientFactory = httpClientFactory; @@ -110,6 +114,19 @@ namespace LINGYUN.Abp.Webhooks protected virtual void AddAdditionalHeaders(HttpRequestMessage request, WebhookSenderArgs webhookSenderArgs) { + foreach (var header in _options.DefaultHttpHeaders) + { + if (request.Headers.TryAddWithoutValidation(header.Key, header.Value)) + { + continue; + } + + if (request.Content.Headers.TryAddWithoutValidation(header.Key, header.Value)) + { + continue; + } + } + foreach (var header in webhookSenderArgs.Headers) { if (request.Headers.TryAddWithoutValidation(header.Key, header.Value)) @@ -144,7 +161,7 @@ namespace LINGYUN.Abp.Webhooks res.Add(header.Key, header.Value.JoinAsString(";")); } } - + return res; } } From 388f1b97e73e83a8850dc1da069a47cda50b4331 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Tue, 28 Feb 2023 11:39:12 +0800 Subject: [PATCH 2/6] feat(maui): add maui project --- .../AbpApplicationsModule.cs | 10 + .../LINGYUN.Abp.Applications/App.xaml | 14 + .../LINGYUN.Abp.Applications/App.xaml.cs | 11 + .../LINGYUN.Abp.Applications/AppShell.xaml | 14 + .../LINGYUN.Abp.Applications/AppShell.xaml.cs | 9 + .../LINGYUN.Abp.Applications.csproj | 64 +++ .../LINGYUN.Abp.Applications/MainPage.xaml | 41 ++ .../LINGYUN.Abp.Applications/MainPage.xaml.cs | 24 ++ .../LINGYUN.Abp.Applications/MauiProgram.cs | 44 ++ .../Platforms/Android/AndroidManifest.xml | 6 + .../Platforms/Android/MainActivity.cs | 9 + .../Platforms/Android/MainApplication.cs | 14 + .../Android/Resources/values/colors.xml | 6 + .../Platforms/MacCatalyst/AppDelegate.cs | 8 + .../Platforms/MacCatalyst/Info.plist | 30 ++ .../Platforms/MacCatalyst/Program.cs | 14 + .../Platforms/Tizen/Main.cs | 16 + .../Platforms/Tizen/tizen-manifest.xml | 15 + .../Platforms/Windows/App.xaml | 8 + .../Platforms/Windows/App.xaml.cs | 23 + .../Platforms/Windows/Package.appxmanifest | 46 ++ .../Platforms/Windows/app.manifest | 15 + .../Platforms/iOS/AppDelegate.cs | 8 + .../Platforms/iOS/Info.plist | 32 ++ .../Platforms/iOS/Program.cs | 14 + .../Properties/launchSettings.json | 8 + .../Resources/AppIcon/appicon.svg | 4 + .../Resources/AppIcon/appiconfg.svg | 8 + .../Resources/Fonts/OpenSans-Regular.ttf | Bin 0 -> 107184 bytes .../Resources/Fonts/OpenSans-Semibold.ttf | Bin 0 -> 111068 bytes .../Resources/Images/dotnet_bot.svg | 93 ++++ .../Resources/Raw/AboutAssets.txt | 15 + .../Resources/Splash/splash.svg | 8 + .../Resources/Styles/Colors.xaml | 44 ++ .../Resources/Styles/Styles.xaml | 405 ++++++++++++++++++ .../LINGYUN.Abp.Applications/appsettings.json | 3 + 36 files changed, 1083 insertions(+) create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/AbpApplicationsModule.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/App.xaml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/App.xaml.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/LINGYUN.Abp.Applications.csproj create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/MainPage.xaml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/MainPage.xaml.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/MauiProgram.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Android/AndroidManifest.xml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Android/MainActivity.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Android/MainApplication.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Android/Resources/values/colors.xml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/MacCatalyst/AppDelegate.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/MacCatalyst/Info.plist create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/MacCatalyst/Program.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Tizen/Main.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Tizen/tizen-manifest.xml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Windows/App.xaml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Windows/App.xaml.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Windows/Package.appxmanifest create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/Windows/app.manifest create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/iOS/AppDelegate.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/iOS/Info.plist create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Platforms/iOS/Program.cs create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Properties/launchSettings.json create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/AppIcon/appicon.svg create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/AppIcon/appiconfg.svg create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Fonts/OpenSans-Regular.ttf create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Fonts/OpenSans-Semibold.ttf create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Images/dotnet_bot.svg create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Raw/AboutAssets.txt create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Splash/splash.svg create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Styles/Colors.xaml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/Resources/Styles/Styles.xaml create mode 100644 aspnet-core/services/LINGYUN.Abp.Applications/appsettings.json diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/AbpApplicationsModule.cs b/aspnet-core/services/LINGYUN.Abp.Applications/AbpApplicationsModule.cs new file mode 100644 index 000000000..1220143a1 --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/AbpApplicationsModule.cs @@ -0,0 +1,10 @@ +using Volo.Abp.Autofac; +using Volo.Abp.Modularity; + +namespace LINGYUN.Abp.Applications; + +[DependsOn( + typeof(AbpAutofacModule))] +public class AbpApplicationsModule : AbpModule +{ +} diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/App.xaml b/aspnet-core/services/LINGYUN.Abp.Applications/App.xaml new file mode 100644 index 000000000..030290e0f --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/App.xaml.cs b/aspnet-core/services/LINGYUN.Abp.Applications/App.xaml.cs new file mode 100644 index 000000000..3229847ee --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/App.xaml.cs @@ -0,0 +1,11 @@ +namespace LINGYUN.Abp.Applications; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } +} diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml b/aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml new file mode 100644 index 000000000..17e24fb2c --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml.cs b/aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml.cs new file mode 100644 index 000000000..f98be473d --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/AppShell.xaml.cs @@ -0,0 +1,9 @@ +namespace LINGYUN.Abp.Applications; + +public partial class AppShell : Shell +{ + public AppShell() + { + InitializeComponent(); + } +} diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/LINGYUN.Abp.Applications.csproj b/aspnet-core/services/LINGYUN.Abp.Applications/LINGYUN.Abp.Applications.csproj new file mode 100644 index 000000000..8b5882cff --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/LINGYUN.Abp.Applications.csproj @@ -0,0 +1,64 @@ + + + + net7.0-android;net7.0-ios;net7.0-maccatalyst + $(TargetFrameworks);net7.0-windows10.0.19041.0 + + + Exe + LINGYUN.Abp.Applications + true + true + enable + + + LINGYUN.Abp.Applications + + + com.companyname.lingyun.abp.applications + 29c575ea-3256-46cb-b070-8ce749673efa + + + 1.0 + 1 + + 11.0 + 13.1 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aspnet-core/services/LINGYUN.Abp.Applications/MainPage.xaml b/aspnet-core/services/LINGYUN.Abp.Applications/MainPage.xaml new file mode 100644 index 000000000..1bb898031 --- /dev/null +++ b/aspnet-core/services/LINGYUN.Abp.Applications/MainPage.xaml @@ -0,0 +1,41 @@ + + + + + + + + +