From 194027e6475f553cf70455c414e619751dd60028 Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Sat, 17 Jun 2023 02:30:44 +1000 Subject: [PATCH 1/7] feat: Splitting out UI part of Http --- .../Uno.Extensions.Http.Tests.csproj | 25 --------- .../CookieManager.cs | 0 src/Uno.Extensions.Http.UI/GlobalUsings.cs | 12 +++++ .../HostBuilderExtensions.cs | 0 .../ServiceCollectionExtensions.cs | 0 .../Uno.Extensions.Http.UI.csproj | 9 ++++ .../Uno.Extensions.Http.WinUI.csproj | 14 +++++ src/Uno.Extensions.Http.UI/common.props | 27 ++++++++++ .../Uno.Extensions.Http.csproj | 8 ++- src/Uno.Extensions.sln | 51 ++++++++++++++----- 10 files changed, 103 insertions(+), 43 deletions(-) delete mode 100644 src/Uno.Extensions.Http.Tests/Uno.Extensions.Http.Tests.csproj rename src/{Uno.Extensions.Http => Uno.Extensions.Http.UI}/CookieManager.cs (100%) create mode 100644 src/Uno.Extensions.Http.UI/GlobalUsings.cs rename src/{Uno.Extensions.Http => Uno.Extensions.Http.UI}/HostBuilderExtensions.cs (100%) rename src/{Uno.Extensions.Http => Uno.Extensions.Http.UI}/ServiceCollectionExtensions.cs (100%) create mode 100644 src/Uno.Extensions.Http.UI/Uno.Extensions.Http.UI.csproj create mode 100644 src/Uno.Extensions.Http.UI/Uno.Extensions.Http.WinUI.csproj create mode 100644 src/Uno.Extensions.Http.UI/common.props diff --git a/src/Uno.Extensions.Http.Tests/Uno.Extensions.Http.Tests.csproj b/src/Uno.Extensions.Http.Tests/Uno.Extensions.Http.Tests.csproj deleted file mode 100644 index d5979d6809..0000000000 --- a/src/Uno.Extensions.Http.Tests/Uno.Extensions.Http.Tests.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - net461 - false - - - - - - - - - - - - - - - - - - - - diff --git a/src/Uno.Extensions.Http/CookieManager.cs b/src/Uno.Extensions.Http.UI/CookieManager.cs similarity index 100% rename from src/Uno.Extensions.Http/CookieManager.cs rename to src/Uno.Extensions.Http.UI/CookieManager.cs diff --git a/src/Uno.Extensions.Http.UI/GlobalUsings.cs b/src/Uno.Extensions.Http.UI/GlobalUsings.cs new file mode 100644 index 0000000000..87228eec47 --- /dev/null +++ b/src/Uno.Extensions.Http.UI/GlobalUsings.cs @@ -0,0 +1,12 @@ +global using System; +global using System.IO; +global using System.Linq; +global using System.Net.Http; +global using System.Threading; +global using System.Threading.Tasks; +global using Microsoft.Extensions.Configuration; +global using Microsoft.Extensions.DependencyInjection; +global using Microsoft.Extensions.Hosting; +global using Microsoft.Extensions.Http; +global using Microsoft.Extensions.Logging; +global using Uno.Extensions.Http; diff --git a/src/Uno.Extensions.Http/HostBuilderExtensions.cs b/src/Uno.Extensions.Http.UI/HostBuilderExtensions.cs similarity index 100% rename from src/Uno.Extensions.Http/HostBuilderExtensions.cs rename to src/Uno.Extensions.Http.UI/HostBuilderExtensions.cs diff --git a/src/Uno.Extensions.Http/ServiceCollectionExtensions.cs b/src/Uno.Extensions.Http.UI/ServiceCollectionExtensions.cs similarity index 100% rename from src/Uno.Extensions.Http/ServiceCollectionExtensions.cs rename to src/Uno.Extensions.Http.UI/ServiceCollectionExtensions.cs diff --git a/src/Uno.Extensions.Http.UI/Uno.Extensions.Http.UI.csproj b/src/Uno.Extensions.Http.UI/Uno.Extensions.Http.UI.csproj new file mode 100644 index 0000000000..87472c8c8d --- /dev/null +++ b/src/Uno.Extensions.Http.UI/Uno.Extensions.Http.UI.csproj @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/Uno.Extensions.Http.UI/Uno.Extensions.Http.WinUI.csproj b/src/Uno.Extensions.Http.UI/Uno.Extensions.Http.WinUI.csproj new file mode 100644 index 0000000000..114abb06a1 --- /dev/null +++ b/src/Uno.Extensions.Http.UI/Uno.Extensions.Http.WinUI.csproj @@ -0,0 +1,14 @@ + + + + + + + $(DefineConstants);WINUI + + + + + + + diff --git a/src/Uno.Extensions.Http.UI/common.props b/src/Uno.Extensions.Http.UI/common.props new file mode 100644 index 0000000000..21e01f47f6 --- /dev/null +++ b/src/Uno.Extensions.Http.UI/common.props @@ -0,0 +1,27 @@ + + + HTTP Extensions for registering endpoints for Uno Platform, UWP and WinUI + + + $(WarningsNotAsErrors);CS1591 + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj b/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj index e5eb756d8e..3d1eedfce9 100644 --- a/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj +++ b/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj @@ -1,5 +1,5 @@  - + HTTP Extensions for registering endpoints for Uno Platform, UWP and WinUI @@ -8,10 +8,6 @@ $(WarningsNotAsErrors);CS1591 - - - - @@ -28,6 +24,8 @@ + + diff --git a/src/Uno.Extensions.sln b/src/Uno.Extensions.sln index e9a9d814a2..4cfe7ed8c1 100644 --- a/src/Uno.Extensions.sln +++ b/src/Uno.Extensions.sln @@ -19,8 +19,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http", "Uno. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.Refit", "Uno.Extensions.Http.Refit\Uno.Extensions.Http.Refit.csproj", "{571B4368-E13C-4ECA-B342-5838E2020310}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.Tests", "Uno.Extensions.Http.Tests\Uno.Extensions.Http.Tests.csproj", "{E77A884B-B845-46CC-A507-F070C4FB4D0A}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Serialization.Http", "Uno.Extensions.Serialization.Http\Uno.Extensions.Serialization.Http.csproj", "{A04C2FDC-34A0-4619-8C80-BFDED66B72CD}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Serialization.Refit", "Uno.Extensions.Serialization.Refit\Uno.Extensions.Serialization.Refit.csproj", "{F03CE17C-F19D-4057-983E-5A260624B888}" @@ -190,6 +188,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Core.WinUI", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Navigation.Generators", "Uno.Extensions.Navigation.Generators\Uno.Extensions.Navigation.Generators.csproj", "{2F076ADB-04CE-4C75-A63E-90A160BB4C30}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.UI", "Uno.Extensions.Http.UI\Uno.Extensions.Http.UI.csproj", "{AF45A54A-A0A9-439A-B0C9-82ABAF46E624}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.WinUI", "Uno.Extensions.Http.UI\Uno.Extensions.Http.WinUI.csproj", "{E2F71C96-1C18-4C05-AD21-94231A260436}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -288,16 +290,6 @@ Global {571B4368-E13C-4ECA-B342-5838E2020310}.Release|arm64.ActiveCfg = Release|Any CPU {571B4368-E13C-4ECA-B342-5838E2020310}.Release|x64.ActiveCfg = Release|Any CPU {571B4368-E13C-4ECA-B342-5838E2020310}.Release|x86.ActiveCfg = Release|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Debug|arm64.ActiveCfg = Debug|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Debug|x64.ActiveCfg = Debug|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Debug|x86.ActiveCfg = Debug|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Release|Any CPU.Build.0 = Release|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Release|arm64.ActiveCfg = Release|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Release|x64.ActiveCfg = Release|Any CPU - {E77A884B-B845-46CC-A507-F070C4FB4D0A}.Release|x86.ActiveCfg = Release|Any CPU {A04C2FDC-34A0-4619-8C80-BFDED66B72CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A04C2FDC-34A0-4619-8C80-BFDED66B72CD}.Debug|Any CPU.Build.0 = Debug|Any CPU {A04C2FDC-34A0-4619-8C80-BFDED66B72CD}.Debug|arm64.ActiveCfg = Debug|Any CPU @@ -1068,6 +1060,38 @@ Global {2F076ADB-04CE-4C75-A63E-90A160BB4C30}.Release|x64.Build.0 = Release|Any CPU {2F076ADB-04CE-4C75-A63E-90A160BB4C30}.Release|x86.ActiveCfg = Release|Any CPU {2F076ADB-04CE-4C75-A63E-90A160BB4C30}.Release|x86.Build.0 = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|arm64.ActiveCfg = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|arm64.Build.0 = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|x64.ActiveCfg = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|x64.Build.0 = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|x86.ActiveCfg = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Debug|x86.Build.0 = Debug|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|Any CPU.Build.0 = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|arm64.ActiveCfg = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|arm64.Build.0 = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|x64.ActiveCfg = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|x64.Build.0 = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|x86.ActiveCfg = Release|Any CPU + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624}.Release|x86.Build.0 = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|arm64.ActiveCfg = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|arm64.Build.0 = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|x64.ActiveCfg = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|x64.Build.0 = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|x86.ActiveCfg = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Debug|x86.Build.0 = Debug|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|Any CPU.Build.0 = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|arm64.ActiveCfg = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|arm64.Build.0 = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|x64.ActiveCfg = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|x64.Build.0 = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|x86.ActiveCfg = Release|Any CPU + {E2F71C96-1C18-4C05-AD21-94231A260436}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1079,7 +1103,6 @@ Global {247E0202-11F8-428A-B6F2-6AABCD222475} = {D3FBC1A0-E7E5-431A-BAC6-BCE8DB1AD4FB} {F6921B06-3F17-442B-B245-786DEFFE60A2} = {45179294-70DC-47E8-AD22-1296F897B594} {571B4368-E13C-4ECA-B342-5838E2020310} = {45179294-70DC-47E8-AD22-1296F897B594} - {E77A884B-B845-46CC-A507-F070C4FB4D0A} = {45179294-70DC-47E8-AD22-1296F897B594} {A04C2FDC-34A0-4619-8C80-BFDED66B72CD} = {D3FBC1A0-E7E5-431A-BAC6-BCE8DB1AD4FB} {F03CE17C-F19D-4057-983E-5A260624B888} = {D3FBC1A0-E7E5-431A-BAC6-BCE8DB1AD4FB} {811AEBB3-BCE1-4B53-8F93-ACFAA3328C14} = {D3FBC1A0-E7E5-431A-BAC6-BCE8DB1AD4FB} @@ -1138,6 +1161,8 @@ Global {F0668EB6-9C39-42A9-BE4A-AF57FD7E9A1D} = {B1477A2C-41F4-4970-8640-5CCF8DA3EDFD} {EEF81643-E541-4298-92FF-F0AF8433C44B} = {B1477A2C-41F4-4970-8640-5CCF8DA3EDFD} {2F076ADB-04CE-4C75-A63E-90A160BB4C30} = {2B4C9E46-EA70-4ADE-B301-E2BB8CC31365} + {AF45A54A-A0A9-439A-B0C9-82ABAF46E624} = {45179294-70DC-47E8-AD22-1296F897B594} + {E2F71C96-1C18-4C05-AD21-94231A260436} = {45179294-70DC-47E8-AD22-1296F897B594} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6E7B035D-9A64-4D95-89AA-9D4653F17C42} From 95f1ec54bfef896960c43cde9320eb7bb210025e Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Mon, 19 Jun 2023 19:23:18 +1000 Subject: [PATCH 2/7] feat: Separating http libraries --- src/Uno.Extensions-packageonly.slnf | 3 +- .../ServiceCollectionExtensions.cs | 16 +- .../Uno.Extensions.Http.Refit.csproj | 24 +-- .../HostBuilderExtensions.cs | 20 +- .../ServiceCollectionExtensions.cs | 159 ++------------- src/Uno.Extensions.Http/DiagnosticHandler.cs | 12 +- src/Uno.Extensions.Http/EndpointOptions.cs | 12 +- src/Uno.Extensions.Http/GlobalUsings.cs | 2 + .../IAuthenticationTokenProvider.cs | 7 + src/Uno.Extensions.Http/ICookieManager.cs | 13 +- .../IResponseContentDeserializer.cs | 23 ++- .../ServiceCollectionExtensions.cs | 186 ++++++++++++++++++ .../SimpleAuthenticationToken.cs | 5 + 13 files changed, 309 insertions(+), 173 deletions(-) create mode 100644 src/Uno.Extensions.Http/ServiceCollectionExtensions.cs diff --git a/src/Uno.Extensions-packageonly.slnf b/src/Uno.Extensions-packageonly.slnf index 6e6753827f..1fdac1cc33 100644 --- a/src/Uno.Extensions-packageonly.slnf +++ b/src/Uno.Extensions-packageonly.slnf @@ -24,7 +24,8 @@ "Uno.Extensions.Hosting.UI\\Uno.Extensions.Hosting.WinUI.csproj", "Uno.Extensions.Hosting\\Uno.Extensions.Hosting.csproj", "Uno.Extensions.Http.Refit\\Uno.Extensions.Http.Refit.csproj", - "Uno.Extensions.Http.Tests\\Uno.Extensions.Http.Tests.csproj", + "Uno.Extensions.Http.UI\\Uno.Extensions.Http.UI.csproj", + "Uno.Extensions.Http.UI\\Uno.Extensions.Http.WinUI.csproj", "Uno.Extensions.Http\\Uno.Extensions.Http.csproj", "Uno.Extensions.Localization.UI\\Uno.Extensions.Localization.UI.csproj", "Uno.Extensions.Localization.UI\\Uno.Extensions.Localization.WinUI.csproj", diff --git a/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs b/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs index 3f86936c35..66a1595f13 100644 --- a/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs +++ b/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs @@ -1,13 +1,25 @@ -using System; -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Refit; using Uno.Extensions.Http; namespace Uno.Extensions; +/// +/// Extensions for +/// public static class ServiceCollectionExtensions { + /// + /// Registers a Refit client with the specified . + /// + /// The Refit api type to register + /// The services collection to register the api with + /// The host builder context + /// [optional]The name for locating endpoint information in appsettings + /// [optional]Callback for overriding Refit settings + /// [optional]Callback for configuring the endpoint + /// public static IServiceCollection AddRefitClient( this IServiceCollection services, HostBuilderContext context, diff --git a/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj b/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj index fb3c6f07ed..0a362407cc 100644 --- a/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj +++ b/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj @@ -1,5 +1,5 @@  - + HTTP Refit Extensions for registering Refit endpoints for Uno Platform, UWP and WinUI @@ -8,17 +8,17 @@ $(WarningsNotAsErrors);CS1591 - - - - + + + + - - - - + + + + - - - + + + diff --git a/src/Uno.Extensions.Http.UI/HostBuilderExtensions.cs b/src/Uno.Extensions.Http.UI/HostBuilderExtensions.cs index 5f8364ef96..509896e711 100644 --- a/src/Uno.Extensions.Http.UI/HostBuilderExtensions.cs +++ b/src/Uno.Extensions.Http.UI/HostBuilderExtensions.cs @@ -1,14 +1,29 @@ namespace Uno.Extensions; +/// +/// Extensions for +/// public static class HostBuilderExtensions { + /// + /// Registers the native HttpMessageHandler and the DiagnosticHandler + /// + /// The host builder to register with + /// Callback for configuring Http services + /// Updated host builder public static IHostBuilder UseHttp( - this IHostBuilder hostBuilder, + this IHostBuilder builder, Action configure) { - return hostBuilder.UseHttp((context, builder) => configure.Invoke(builder)); + return builder.UseHttp((context, builder) => configure.Invoke(builder)); } + /// + /// Registers the native HttpMessageHandler and the DiagnosticHandler + /// + /// The host builder to register with + /// Callback for configuring Http services + /// Updated host builder public static IHostBuilder UseHttp( this IHostBuilder builder, Action? configure = default) @@ -19,6 +34,7 @@ public static IHostBuilder UseHttp( if (!ctx.IsRegistered(nameof(UseHttp))) { _ = services + .AddCookieManager(ctx) .AddNativeHandler(ctx) .AddTransient(); } diff --git a/src/Uno.Extensions.Http.UI/ServiceCollectionExtensions.cs b/src/Uno.Extensions.Http.UI/ServiceCollectionExtensions.cs index 3ab7967e57..e00891d55d 100644 --- a/src/Uno.Extensions.Http.UI/ServiceCollectionExtensions.cs +++ b/src/Uno.Extensions.Http.UI/ServiceCollectionExtensions.cs @@ -1,151 +1,33 @@ - - -using System.Net.Sockets; -using Uno.Extensions.Logging; - -namespace Uno.Extensions; +namespace Uno.Extensions; +/// +/// Extensions for +/// public static class ServiceCollectionExtensions { - private static char[] InterfaceNamePrefix = new[] { 'i', 'I' }; - - public static T Conditional( - this T builder, - bool predicate, - Func configureBuilder) - { - return (configureBuilder is not null && predicate) ? configureBuilder(builder) : builder; - } - - - public static IServiceCollection AddClient( - this IServiceCollection services, - HostBuilderContext context, - EndpointOptions? options = null, - string? name = null, - Func? configure = null - ) - where TClient : class - where TImplementation : class, TClient - { - Func httpClientFactory = - (s, c) => (name is null || string.IsNullOrWhiteSpace(name)) ? - s.AddHttpClient() : - s.AddHttpClient(name); - - return services.AddClient(context, options, name, httpClientFactory, configure); - } - - public static IServiceCollection AddClient( - this IServiceCollection services, - HostBuilderContext context, - EndpointOptions? options = null, - string? name = null, - Func? httpClientFactory = null, - Func? configure = null - ) - where TInterface : class - { - var optionsName = name ?? (typeof(TInterface).IsInterface ? typeof(TInterface).Name.TrimStart(InterfaceNamePrefix) : typeof(TInterface).Name); - options ??= ConfigurationBinder.Get(context.Configuration.GetSection(optionsName)); - - httpClientFactory ??= - (s, c) => (name is null || string.IsNullOrWhiteSpace(name)) ? - s.AddHttpClient() : - s.AddHttpClient(name); - - var httpClientBuilder = httpClientFactory(services, context); - - _ = httpClientBuilder - .Conditional( - options?.UseNativeHandler ?? false, - builder => builder.ConfigurePrimaryAndInnerHttpMessageHandler()) - .ConfigureDelegatingHandlers() - .ConfigureHttpClient((serviceProvider, client) => - { - if (options?.Url is not null) - { - client.BaseAddress = new Uri(options.Url); - } - }) - .Conditional( - configure is not null, - builder => configure?.Invoke(builder, options) ?? builder); - return services; - } - - - public static IHttpClientBuilder ConfigurePrimaryAndInnerHttpMessageHandler(this IHttpClientBuilder builder) where THandler : HttpMessageHandler - { - if (builder == null) - { - throw new ArgumentNullException("builder"); - } - - builder.Services.Configure(builder.Name, delegate (HttpClientFactoryOptions options) - { - options.HttpMessageHandlerBuilderActions.Add(delegate (HttpMessageHandlerBuilder b) - { - var innerHandler = b.Services.GetRequiredService() as HttpMessageHandler; - if (b.PrimaryHandler is DelegatingHandler delegatingHandler) - { - if (delegatingHandler.InnerHandler is not null && - innerHandler is DelegatingHandler innerDelegating) - { - innerDelegating.InnerHandler = delegatingHandler.InnerHandler; - } - delegatingHandler.InnerHandler = innerHandler; - innerHandler = delegatingHandler; - } - - b.PrimaryHandler = innerHandler; - }); - }); - return builder; - } - - public static IHttpClientBuilder ConfigureDelegatingHandlers(this IHttpClientBuilder builder) + /// + /// Registers the native HttpMessageHandler as well as the CookieManager implementation + /// + /// The service collection to register + /// The host builder context + /// Updated service collection + public static IServiceCollection AddCookieManager(this IServiceCollection services, HostBuilderContext context) { - if (builder == null) + if (context.IsRegistered(nameof(AddCookieManager))) { - throw new ArgumentNullException("builder"); + return services; } - builder.Services.Configure(builder.Name, delegate (HttpClientFactoryOptions options) - { - options.HttpMessageHandlerBuilderActions.Add(delegate (HttpMessageHandlerBuilder b) - { - var handlers = b.Services.GetServices().ToArray(); - var currentHandler = handlers.FirstOrDefault(); - if (currentHandler is not null) - { - for (var i = 1; i < handlers.Length; i++) - { - currentHandler.InnerHandler = handlers[i]; - currentHandler = handlers[i]; - } - - if (b.PrimaryHandler is not null) - { - currentHandler.InnerHandler = b.PrimaryHandler; - } - b.PrimaryHandler = handlers[0]; - } - }); - }); - return builder; - } - - public static IHttpClientBuilder AddTypedHttpClient( - this IServiceCollection services, - Func factory) - where TClient : class - { return services - .AddHttpClient(typeof(TClient).FullName ?? string.Empty) - .AddTypedClient(factory); + .AddSingleton(); } + /// + /// Registers the native HttpMessageHandler as well as the CookieManager implementation + /// + /// The service collection to register + /// The host builder context + /// Updated service collection public static IServiceCollection AddNativeHandler(this IServiceCollection services, HostBuilderContext context) { if (context.IsRegistered(nameof(AddNativeHandler))) @@ -154,7 +36,6 @@ public static IServiceCollection AddNativeHandler(this IServiceCollection servic } return services - .AddSingleton() .AddTransient(s => #if __IOS__ new NSUrlSessionHandler() diff --git a/src/Uno.Extensions.Http/DiagnosticHandler.cs b/src/Uno.Extensions.Http/DiagnosticHandler.cs index 043c28864d..ee22d3f39e 100644 --- a/src/Uno.Extensions.Http/DiagnosticHandler.cs +++ b/src/Uno.Extensions.Http/DiagnosticHandler.cs @@ -1,16 +1,22 @@ -using Uno.Extensions.Logging; - -namespace Uno.Extensions.Http; +namespace Uno.Extensions.Http; +/// +/// Handler for printing diagnostic information about requests +/// public class DiagnosticHandler : DelegatingHandler { private readonly ILogger _logger; + /// + /// Creates a new instance of + /// + /// ILogger for logging public DiagnosticHandler(ILogger logger) { _logger = logger; } + /// protected override async Task SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) diff --git a/src/Uno.Extensions.Http/EndpointOptions.cs b/src/Uno.Extensions.Http/EndpointOptions.cs index c436afcbd4..3473b380a5 100644 --- a/src/Uno.Extensions.Http/EndpointOptions.cs +++ b/src/Uno.Extensions.Http/EndpointOptions.cs @@ -1,8 +1,18 @@ namespace Uno.Extensions.Http; +/// +/// Represents endpoint options loaded from appsettings +/// public class EndpointOptions { + /// + /// Gets/Sets the Url for the endpoint + /// public string? Url { get; set; } - public bool UseNativeHandler { get; set; } + /// + /// Gets/Sets whether to use the native HttpMessageHandler + /// (defaults to true if not specified) + /// + public bool? UseNativeHandler { get; set; } } diff --git a/src/Uno.Extensions.Http/GlobalUsings.cs b/src/Uno.Extensions.Http/GlobalUsings.cs index 87228eec47..93a060279e 100644 --- a/src/Uno.Extensions.Http/GlobalUsings.cs +++ b/src/Uno.Extensions.Http/GlobalUsings.cs @@ -1,6 +1,7 @@ global using System; global using System.IO; global using System.Linq; +global using System.Net; global using System.Net.Http; global using System.Threading; global using System.Threading.Tasks; @@ -10,3 +11,4 @@ global using Microsoft.Extensions.Http; global using Microsoft.Extensions.Logging; global using Uno.Extensions.Http; +global using Uno.Extensions.Logging; diff --git a/src/Uno.Extensions.Http/IAuthenticationTokenProvider.cs b/src/Uno.Extensions.Http/IAuthenticationTokenProvider.cs index f2f3019207..30e21eb769 100644 --- a/src/Uno.Extensions.Http/IAuthenticationTokenProvider.cs +++ b/src/Uno.Extensions.Http/IAuthenticationTokenProvider.cs @@ -1,6 +1,13 @@ namespace Uno.Extensions.Http; +/// +/// Provider for authentication token +/// public interface IAuthenticationTokenProvider { + /// + /// Retrieves the current access token + /// + /// Access token Task GetAccessToken(); } diff --git a/src/Uno.Extensions.Http/ICookieManager.cs b/src/Uno.Extensions.Http/ICookieManager.cs index 14ea2d3fcd..c875ae37c3 100644 --- a/src/Uno.Extensions.Http/ICookieManager.cs +++ b/src/Uno.Extensions.Http/ICookieManager.cs @@ -1,8 +1,15 @@ -using System.Net; - -namespace Uno.Extensions; +namespace Uno.Extensions; +/// +/// Manages request cookies +/// internal interface ICookieManager { + /// + /// Clears cookies for the specified request Uri + /// + /// The handler to access existing cookie container + /// The request to clear cookies for + /// The (generated if not exists) cookie container CookieContainer? ClearCookies(HttpMessageHandler Handler, Uri requestUri); } diff --git a/src/Uno.Extensions.Http/IResponseContentDeserializer.cs b/src/Uno.Extensions.Http/IResponseContentDeserializer.cs index bf7b535f53..9fe6cce8b7 100644 --- a/src/Uno.Extensions.Http/IResponseContentDeserializer.cs +++ b/src/Uno.Extensions.Http/IResponseContentDeserializer.cs @@ -1,13 +1,16 @@ namespace Uno.Extensions.Http; +/// +/// Allows the deserialization of the response content. +/// public interface IResponseContentDeserializer - { - /// - /// Deserializes the response into the. - /// - /// The type of response. - /// Cancel token. - /// Http content. - /// Http response. - Task Deserialize(CancellationToken ct, HttpContent content); - } +{ + /// + /// Deserializes the response into the. + /// + /// The type of response. + /// Cancel token. + /// Http content. + /// Http response. + Task Deserialize(CancellationToken ct, HttpContent content); +} diff --git a/src/Uno.Extensions.Http/ServiceCollectionExtensions.cs b/src/Uno.Extensions.Http/ServiceCollectionExtensions.cs new file mode 100644 index 0000000000..0aa6e0d266 --- /dev/null +++ b/src/Uno.Extensions.Http/ServiceCollectionExtensions.cs @@ -0,0 +1,186 @@ +namespace Uno.Extensions; + +/// +/// Extensions for +/// +public static class ServiceCollectionExtensions +{ + private static char[] InterfaceNamePrefix = new[] { 'i', 'I' }; + + private static T Conditional( + this T builder, + bool predicate, + Func configureBuilder) + { + return (configureBuilder is not null && predicate) ? configureBuilder(builder) : builder; + } + + /// + /// Adds a typed client to the service collection. + /// + /// The type of client to add + /// The type implementation + /// The service collection to register with + /// The host builder context + /// [optional] Endpoint information (loaded from appsettings if not specified) + /// [optional] Name of the endpoint (used to load from appsettings) + /// [optional] Callback to configure the endpoint + /// Updated service collection + public static IServiceCollection AddClient( + this IServiceCollection services, + HostBuilderContext context, + EndpointOptions? options = null, + string? name = null, + Func? configure = null + ) + where TClient : class + where TImplementation : class, TClient + { + Func httpClientFactory = + (s, c) => (name is null || string.IsNullOrWhiteSpace(name)) ? + s.AddHttpClient() : + s.AddHttpClient(name); + + return services.AddClient(context, options, name, httpClientFactory, configure); + } + + /// + /// Adds a typed client to the service collection. + /// + /// The type of client to add + /// The service collection to register with + /// The host builder context + /// [optional] Endpoint information (loaded from appsettings if not specified) + /// [optional] Name of the endpoint (used to load from appsettings) + /// [optional] Callback to configure the HttpClient + /// [optional] Callback to configure the endpoint + /// Updated service collection + public static IServiceCollection AddClient( + this IServiceCollection services, + HostBuilderContext context, + EndpointOptions? options = null, + string? name = null, + Func? httpClientFactory = null, + Func? configure = null + ) + where TInterface : class + { + var optionsName = name ?? (typeof(TInterface).IsInterface ? typeof(TInterface).Name.TrimStart(InterfaceNamePrefix) : typeof(TInterface).Name); + options ??= ConfigurationBinder.Get(context.Configuration.GetSection(optionsName)); + + httpClientFactory ??= + (s, c) => (name is null || string.IsNullOrWhiteSpace(name)) ? + s.AddHttpClient() : + s.AddHttpClient(name); + + var httpClientBuilder = httpClientFactory(services, context); + + _ = httpClientBuilder + .Conditional( + options?.UseNativeHandler ?? true, + builder => builder.ConfigurePrimaryAndInnerHttpMessageHandler()) + .ConfigureDelegatingHandlers() + .ConfigureHttpClient((serviceProvider, client) => + { + if (options?.Url is not null) + { + client.BaseAddress = new Uri(options.Url); + } + }) + .Conditional( + configure is not null, + builder => configure?.Invoke(builder, options) ?? builder); + return services; + } + + /// + /// Configures the primary and inner http message handler. + /// + /// The type to register as the primary message handler + /// The client builder to configure + /// The configured client builder + /// builder parameter can't be null + public static IHttpClientBuilder ConfigurePrimaryAndInnerHttpMessageHandler(this IHttpClientBuilder builder) where THandler : HttpMessageHandler + { + if (builder == null) + { + throw new ArgumentNullException(nameof(builder)); + } + + builder.Services.Configure(builder.Name, delegate (HttpClientFactoryOptions options) + { + options.HttpMessageHandlerBuilderActions.Add(delegate (HttpMessageHandlerBuilder b) + { + var innerHandler = b.Services.GetRequiredService() as HttpMessageHandler; + if (b.PrimaryHandler is DelegatingHandler delegatingHandler) + { + if (delegatingHandler.InnerHandler is not null && + innerHandler is DelegatingHandler innerDelegating) + { + innerDelegating.InnerHandler = delegatingHandler.InnerHandler; + } + delegatingHandler.InnerHandler = innerHandler; + innerHandler = delegatingHandler; + } + + b.PrimaryHandler = innerHandler; + }); + }); + return builder; + } + + /// + /// Configure the delegating handlers. + /// + /// The client builder to configure + /// Configured client builder + /// builder parameter can't be null + public static IHttpClientBuilder ConfigureDelegatingHandlers(this IHttpClientBuilder builder) + { + if (builder == null) + { + throw new ArgumentNullException(nameof(builder)); + } + + builder.Services.Configure(builder.Name, delegate (HttpClientFactoryOptions options) + { + options.HttpMessageHandlerBuilderActions.Add(delegate (HttpMessageHandlerBuilder b) + { + var handlers = b.Services.GetServices().ToArray(); + var currentHandler = handlers.FirstOrDefault(); + if (currentHandler is not null) + { + for (var i = 1; i < handlers.Length; i++) + { + currentHandler.InnerHandler = handlers[i]; + currentHandler = handlers[i]; + } + + if (b.PrimaryHandler is not null) + { + currentHandler.InnerHandler = b.PrimaryHandler; + } + b.PrimaryHandler = handlers[0]; + } + }); + }); + return builder; + } + + /// + /// Registered a typed http client + /// + /// The type to register + /// The service collection to register with + /// The factory to create the http client + /// Configured client builder + public static IHttpClientBuilder AddTypedHttpClient( + this IServiceCollection services, + Func factory) + where TClient : class + { + return services + .AddHttpClient(typeof(TClient).FullName ?? string.Empty) + .AddTypedClient(factory); + } +} diff --git a/src/Uno.Extensions.Http/SimpleAuthenticationToken.cs b/src/Uno.Extensions.Http/SimpleAuthenticationToken.cs index 34c710e5d6..79318158fc 100644 --- a/src/Uno.Extensions.Http/SimpleAuthenticationToken.cs +++ b/src/Uno.Extensions.Http/SimpleAuthenticationToken.cs @@ -1,8 +1,13 @@ namespace Uno.Extensions.Http; +/// +/// Implements a simple authentication token provider +/// public class SimpleAuthenticationToken : IAuthenticationTokenProvider { + /// public string? AccessToken { get; set; } + /// public Task GetAccessToken() => Task.FromResult(AccessToken ?? string.Empty); } From 4d97a1320e8ade4195fd0a82d3b5b358d22de6e3 Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Mon, 19 Jun 2023 19:28:35 +1000 Subject: [PATCH 3/7] feat: Adding ref to http.ui --- .../Playground.Droid/Playground.Droid.csproj | 4 + .../Playground.Skia.Gtk.csproj | 3 +- .../Playground.Skia.Wpf.csproj | 3 +- .../Playground.UWP/Playground.UWP.csproj | 6 +- .../Playground.Wasm/Playground.Wasm.csproj | 1 + .../Playground.Windows.csproj | 1 + .../Playground.iOS/Playground.iOS.csproj | 9 +- .../Playground.macOS/Playground.macOS.csproj | 7 +- samples/Playground/Playground.sln | 125 +++++++++++++++++- 9 files changed, 146 insertions(+), 13 deletions(-) diff --git a/samples/Playground/Playground.Droid/Playground.Droid.csproj b/samples/Playground/Playground.Droid/Playground.Droid.csproj index aac9f2432d..620c3b5f41 100644 --- a/samples/Playground/Playground.Droid/Playground.Droid.csproj +++ b/samples/Playground/Playground.Droid/Playground.Droid.csproj @@ -124,6 +124,10 @@ {17a4c2dd-d7f3-4b5b-931d-16fa7920d2c0} Uno.Extensions.Http.Refit + + {3b441d41-f441-4a0d-87a2-ec5d124c3d59} + Uno.Extensions.Http.UI + {9f8db209-a0d3-439e-8624-0ddd3608e886} Uno.Extensions.Http diff --git a/samples/Playground/Playground.Skia.Gtk/Playground.Skia.Gtk.csproj b/samples/Playground/Playground.Skia.Gtk/Playground.Skia.Gtk.csproj index f413feea40..09cc15c2ba 100644 --- a/samples/Playground/Playground.Skia.Gtk/Playground.Skia.Gtk.csproj +++ b/samples/Playground/Playground.Skia.Gtk/Playground.Skia.Gtk.csproj @@ -31,6 +31,7 @@ + @@ -52,4 +53,4 @@ - \ No newline at end of file + diff --git a/samples/Playground/Playground.Skia.Wpf/Playground.Skia.Wpf.csproj b/samples/Playground/Playground.Skia.Wpf/Playground.Skia.Wpf.csproj index 91faa23b84..a64d5f574f 100644 --- a/samples/Playground/Playground.Skia.Wpf/Playground.Skia.Wpf.csproj +++ b/samples/Playground/Playground.Skia.Wpf/Playground.Skia.Wpf.csproj @@ -24,6 +24,7 @@ + @@ -45,4 +46,4 @@ - \ No newline at end of file + diff --git a/samples/Playground/Playground.UWP/Playground.UWP.csproj b/samples/Playground/Playground.UWP/Playground.UWP.csproj index 2565fcec28..02054826da 100644 --- a/samples/Playground/Playground.UWP/Playground.UWP.csproj +++ b/samples/Playground/Playground.UWP/Playground.UWP.csproj @@ -154,6 +154,10 @@ {17a4c2dd-d7f3-4b5b-931d-16fa7920d2c0} Uno.Extensions.Http.Refit + + {3b441d41-f441-4a0d-87a2-ec5d124c3d59} + Uno.Extensions.Http.UI + {9f8db209-a0d3-439e-8624-0ddd3608e886} Uno.Extensions.Http @@ -265,4 +269,4 @@ --> - \ No newline at end of file + diff --git a/samples/Playground/Playground.Wasm/Playground.Wasm.csproj b/samples/Playground/Playground.Wasm/Playground.Wasm.csproj index 56eebf19ed..39d1e32ed4 100644 --- a/samples/Playground/Playground.Wasm/Playground.Wasm.csproj +++ b/samples/Playground/Playground.Wasm/Playground.Wasm.csproj @@ -61,6 +61,7 @@ + diff --git a/samples/Playground/Playground.Windows/Playground.Windows.csproj b/samples/Playground/Playground.Windows/Playground.Windows.csproj index 8c912ce0c9..8fb56f88d1 100644 --- a/samples/Playground/Playground.Windows/Playground.Windows.csproj +++ b/samples/Playground/Playground.Windows/Playground.Windows.csproj @@ -85,6 +85,7 @@ + diff --git a/samples/Playground/Playground.iOS/Playground.iOS.csproj b/samples/Playground/Playground.iOS/Playground.iOS.csproj index 3ccd237afa..3104afabd9 100644 --- a/samples/Playground/Playground.iOS/Playground.iOS.csproj +++ b/samples/Playground/Playground.iOS/Playground.iOS.csproj @@ -201,7 +201,12 @@ {17a4c2dd-d7f3-4b5b-931d-16fa7920d2c0} Uno.Extensions.Http.Refit - + + {3b441d41-f441-4a0d-87a2-ec5d124c3d59} + Uno.Extensions.Http.UI + + + {9f8db209-a0d3-439e-8624-0ddd3608e886} Uno.Extensions.Http @@ -281,4 +286,4 @@ - \ No newline at end of file + diff --git a/samples/Playground/Playground.macOS/Playground.macOS.csproj b/samples/Playground/Playground.macOS/Playground.macOS.csproj index fea2d4b636..4698a623bd 100644 --- a/samples/Playground/Playground.macOS/Playground.macOS.csproj +++ b/samples/Playground/Playground.macOS/Playground.macOS.csproj @@ -135,7 +135,12 @@ {17a4c2dd-d7f3-4b5b-931d-16fa7920d2c0} Uno.Extensions.Http.Refit - + + {3b441d41-f441-4a0d-87a2-ec5d124c3d59} + Uno.Extensions.Http.UI + + + {9f8db209-a0d3-439e-8624-0ddd3608e886} Uno.Extensions.Http diff --git a/samples/Playground/Playground.sln b/samples/Playground/Playground.sln index b23f299a88..1a96f62d0c 100644 --- a/samples/Playground/Playground.sln +++ b/samples/Playground/Playground.sln @@ -172,6 +172,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Core.WinUI", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Navigation.Generators", "..\..\src\Uno.Extensions.Navigation.Generators\Uno.Extensions.Navigation.Generators.csproj", "{B4F14C65-EC7C-4641-81A6-576BA122E8C2}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.UI", "..\..\src\Uno.Extensions.Http.UI\Uno.Extensions.Http.UI.csproj", "{3B441D41-F441-4A0D-87A2-EC5D124C3D59}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.WinUI", "..\..\src\Uno.Extensions.Http.UI\Uno.Extensions.Http.WinUI.csproj", "{743182C8-6956-4182-A868-DF7003B82032}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Ad-Hoc|Any CPU = Ad-Hoc|Any CPU @@ -3291,6 +3295,118 @@ Global {B4F14C65-EC7C-4641-81A6-576BA122E8C2}.Release|x64.Build.0 = Release|Any CPU {B4F14C65-EC7C-4641-81A6-576BA122E8C2}.Release|x86.ActiveCfg = Release|Any CPU {B4F14C65-EC7C-4641-81A6-576BA122E8C2}.Release|x86.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|ARM.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|ARM64.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|ARM64.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|iPhone.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|x64.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|x64.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|x86.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.AppStore|x86.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|ARM.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|ARM.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|ARM64.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|iPhone.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|x64.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|x64.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|x86.ActiveCfg = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Debug|x86.Build.0 = Debug|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|Any CPU.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|ARM.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|ARM.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|ARM64.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|ARM64.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|iPhone.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|iPhone.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|x64.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|x64.Build.0 = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|x86.ActiveCfg = Release|Any CPU + {3B441D41-F441-4A0D-87A2-EC5D124C3D59}.Release|x86.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|ARM.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|ARM64.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|ARM64.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|iPhone.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|x64.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|x64.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|x86.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.AppStore|x86.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|Any CPU.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|ARM.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|ARM.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|ARM64.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|iPhone.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|x64.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|x64.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|x86.ActiveCfg = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Debug|x86.Build.0 = Debug|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|Any CPU.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|Any CPU.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|ARM.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|ARM.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|ARM64.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|ARM64.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|iPhone.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|iPhone.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|x64.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|x64.Build.0 = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|x86.ActiveCfg = Release|Any CPU + {743182C8-6956-4182-A868-DF7003B82032}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -3364,19 +3480,14 @@ Global {BDAB734F-2622-4591-B06B-87C6EC53B282} = {F9372730-80BC-47B6-9E23-B5F69E36768F} {0706A3E8-9DB3-4344-979B-376CD04D76B9} = {F9372730-80BC-47B6-9E23-B5F69E36768F} {B4F14C65-EC7C-4641-81A6-576BA122E8C2} = {A7450AE8-53E1-4AD2-8E3A-4BF626269DC0} + {3B441D41-F441-4A0D-87A2-EC5D124C3D59} = {FA19ECB8-E725-4AFB-9DF8-E387B7AD12CE} + {743182C8-6956-4182-A868-DF7003B82032} = {FA19ECB8-E725-4AFB-9DF8-E387B7AD12CE} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {1A645832-60E5-4DA0-9EE7-69F7E34333DC} EndGlobalSection GlobalSection(SharedMSBuildProjectFiles) = preSolution - Playground.Shared\Playground.Shared.projitems*{0be93281-9633-484a-9a2f-f3b7bd36a443}*SharedItemsImports = 5 - Playground.Shared\Playground.Shared.projitems*{0c7a4b61-d7c6-48f8-83b6-d7cfa896b8c9}*SharedItemsImports = 5 Playground.Shared\Playground.Shared.projitems*{1efb7b93-88d1-4f14-b335-bab42a49faf0}*SharedItemsImports = 5 - Playground.Shared\Playground.Shared.projitems*{398d8331-d046-48d2-8198-1737b4f1c7e9}*SharedItemsImports = 4 Playground.Shared\Playground.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13 - Playground.Shared\Playground.Shared.projitems*{7034cdec-7056-4e65-a043-a380582cfbd0}*SharedItemsImports = 5 - Playground.Shared\Playground.Shared.projitems*{abbf2cf7-0ddb-4968-a6d8-8f8205f4a8d5}*SharedItemsImports = 4 - Playground.Shared\Playground.Shared.projitems*{abe60d89-79bb-433c-a674-f3eb6bf2ae1e}*SharedItemsImports = 4 - Playground.Shared\Playground.Shared.projitems*{e40048e4-478a-4e90-bf63-342b04bdd31e}*SharedItemsImports = 4 EndGlobalSection EndGlobal From f099173f0069e6e9e6bd3d85194736b83e397e06 Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Mon, 19 Jun 2023 19:34:17 +1000 Subject: [PATCH 4/7] feat: Adding ref to http.ui/winui --- .../TestHarness.Legacy.Droid.csproj | 3 +- .../TestHarness.Legacy.Skia.Gtk.csproj | 1 + ...rness.Legacy.Skia.Linux.FrameBuffer.csproj | 1 + .../TestHarness.Legacy.Skia.Tizen.csproj | 1 + .../TestHarness.Legacy.Skia.WPF.csproj | 1 + .../TestHarness.Legacy.Uwp.csproj | 1 + .../TestHarness.Legacy.Wasm.csproj | 1 + .../TestHarness.Legacy.iOS.csproj | 1 + .../TestHarness.Legacy.macOS.csproj | 1 + .../TestHarness.Mobile.csproj | 3 +- .../TestHarness.Skia.Gtk.csproj | 1 + .../TestHarness.Skia.WPF.csproj | 1 + .../TestHarness.Wasm/TestHarness.Wasm.csproj | 1 + .../TestHarness.Windows.csproj | 1 + testing/TestHarness/TestHarness.sln | 118 ++++++++++++++++++ 15 files changed, 134 insertions(+), 2 deletions(-) diff --git a/testing/TestHarness/TestHarness.Legacy.Droid/TestHarness.Legacy.Droid.csproj b/testing/TestHarness/TestHarness.Legacy.Droid/TestHarness.Legacy.Droid.csproj index 0d539490a2..cff926cfc4 100644 --- a/testing/TestHarness/TestHarness.Legacy.Droid/TestHarness.Legacy.Droid.csproj +++ b/testing/TestHarness/TestHarness.Legacy.Droid/TestHarness.Legacy.Droid.csproj @@ -139,6 +139,7 @@ + @@ -156,4 +157,4 @@ - + \ No newline at end of file diff --git a/testing/TestHarness/TestHarness.Legacy.Skia.Gtk/TestHarness.Legacy.Skia.Gtk.csproj b/testing/TestHarness/TestHarness.Legacy.Skia.Gtk/TestHarness.Legacy.Skia.Gtk.csproj index 2cd9829fa6..0b7c3db0ba 100644 --- a/testing/TestHarness/TestHarness.Legacy.Skia.Gtk/TestHarness.Legacy.Skia.Gtk.csproj +++ b/testing/TestHarness/TestHarness.Legacy.Skia.Gtk/TestHarness.Legacy.Skia.Gtk.csproj @@ -58,6 +58,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.Skia.Linux.FrameBuffer/TestHarness.Legacy.Skia.Linux.FrameBuffer.csproj b/testing/TestHarness/TestHarness.Legacy.Skia.Linux.FrameBuffer/TestHarness.Legacy.Skia.Linux.FrameBuffer.csproj index 6f67e1ca4b..d5a273ecc3 100644 --- a/testing/TestHarness/TestHarness.Legacy.Skia.Linux.FrameBuffer/TestHarness.Legacy.Skia.Linux.FrameBuffer.csproj +++ b/testing/TestHarness/TestHarness.Legacy.Skia.Linux.FrameBuffer/TestHarness.Legacy.Skia.Linux.FrameBuffer.csproj @@ -57,6 +57,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.Skia.Tizen/TestHarness.Legacy.Skia.Tizen.csproj b/testing/TestHarness/TestHarness.Legacy.Skia.Tizen/TestHarness.Legacy.Skia.Tizen.csproj index 9e49200831..645c9f1186 100644 --- a/testing/TestHarness/TestHarness.Legacy.Skia.Tizen/TestHarness.Legacy.Skia.Tizen.csproj +++ b/testing/TestHarness/TestHarness.Legacy.Skia.Tizen/TestHarness.Legacy.Skia.Tizen.csproj @@ -63,6 +63,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.Skia.WPF/TestHarness.Legacy.Skia.WPF.csproj b/testing/TestHarness/TestHarness.Legacy.Skia.WPF/TestHarness.Legacy.Skia.WPF.csproj index 35d388e17d..e507f61899 100644 --- a/testing/TestHarness/TestHarness.Legacy.Skia.WPF/TestHarness.Legacy.Skia.WPF.csproj +++ b/testing/TestHarness/TestHarness.Legacy.Skia.WPF/TestHarness.Legacy.Skia.WPF.csproj @@ -53,6 +53,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.UWP/TestHarness.Legacy.Uwp.csproj b/testing/TestHarness/TestHarness.Legacy.UWP/TestHarness.Legacy.Uwp.csproj index 9b946e8368..899bc62cd2 100644 --- a/testing/TestHarness/TestHarness.Legacy.UWP/TestHarness.Legacy.Uwp.csproj +++ b/testing/TestHarness/TestHarness.Legacy.UWP/TestHarness.Legacy.Uwp.csproj @@ -180,6 +180,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.Wasm/TestHarness.Legacy.Wasm.csproj b/testing/TestHarness/TestHarness.Legacy.Wasm/TestHarness.Legacy.Wasm.csproj index 3b2026be1c..3ca6849bac 100644 --- a/testing/TestHarness/TestHarness.Legacy.Wasm/TestHarness.Legacy.Wasm.csproj +++ b/testing/TestHarness/TestHarness.Legacy.Wasm/TestHarness.Legacy.Wasm.csproj @@ -87,6 +87,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.iOS/TestHarness.Legacy.iOS.csproj b/testing/TestHarness/TestHarness.Legacy.iOS/TestHarness.Legacy.iOS.csproj index a7e7075402..d99fe57636 100644 --- a/testing/TestHarness/TestHarness.Legacy.iOS/TestHarness.Legacy.iOS.csproj +++ b/testing/TestHarness/TestHarness.Legacy.iOS/TestHarness.Legacy.iOS.csproj @@ -208,6 +208,7 @@ + diff --git a/testing/TestHarness/TestHarness.Legacy.macOS/TestHarness.Legacy.macOS.csproj b/testing/TestHarness/TestHarness.Legacy.macOS/TestHarness.Legacy.macOS.csproj index 9b047c8d87..2d5b88a8f6 100644 --- a/testing/TestHarness/TestHarness.Legacy.macOS/TestHarness.Legacy.macOS.csproj +++ b/testing/TestHarness/TestHarness.Legacy.macOS/TestHarness.Legacy.macOS.csproj @@ -108,6 +108,7 @@ + diff --git a/testing/TestHarness/TestHarness.Mobile/TestHarness.Mobile.csproj b/testing/TestHarness/TestHarness.Mobile/TestHarness.Mobile.csproj index f1f245f0a2..516893fa02 100644 --- a/testing/TestHarness/TestHarness.Mobile/TestHarness.Mobile.csproj +++ b/testing/TestHarness/TestHarness.Mobile/TestHarness.Mobile.csproj @@ -55,13 +55,14 @@ - + + diff --git a/testing/TestHarness/TestHarness.Skia.Gtk/TestHarness.Skia.Gtk.csproj b/testing/TestHarness/TestHarness.Skia.Gtk/TestHarness.Skia.Gtk.csproj index 940632fee7..7290d3fb7f 100644 --- a/testing/TestHarness/TestHarness.Skia.Gtk/TestHarness.Skia.Gtk.csproj +++ b/testing/TestHarness/TestHarness.Skia.Gtk/TestHarness.Skia.Gtk.csproj @@ -60,6 +60,7 @@ + diff --git a/testing/TestHarness/TestHarness.Skia.WPF/TestHarness.Skia.WPF.csproj b/testing/TestHarness/TestHarness.Skia.WPF/TestHarness.Skia.WPF.csproj index dc64c9a32b..560ab2a56b 100644 --- a/testing/TestHarness/TestHarness.Skia.WPF/TestHarness.Skia.WPF.csproj +++ b/testing/TestHarness/TestHarness.Skia.WPF/TestHarness.Skia.WPF.csproj @@ -54,6 +54,7 @@ + diff --git a/testing/TestHarness/TestHarness.Wasm/TestHarness.Wasm.csproj b/testing/TestHarness/TestHarness.Wasm/TestHarness.Wasm.csproj index f3eb78738b..69aa623914 100644 --- a/testing/TestHarness/TestHarness.Wasm/TestHarness.Wasm.csproj +++ b/testing/TestHarness/TestHarness.Wasm/TestHarness.Wasm.csproj @@ -92,6 +92,7 @@ + diff --git a/testing/TestHarness/TestHarness.Windows/TestHarness.Windows.csproj b/testing/TestHarness/TestHarness.Windows/TestHarness.Windows.csproj index ab0d5b73e6..50abb894e0 100644 --- a/testing/TestHarness/TestHarness.Windows/TestHarness.Windows.csproj +++ b/testing/TestHarness/TestHarness.Windows/TestHarness.Windows.csproj @@ -84,6 +84,7 @@ + diff --git a/testing/TestHarness/TestHarness.sln b/testing/TestHarness/TestHarness.sln index 76c9121f1c..4d501cbf6c 100644 --- a/testing/TestHarness/TestHarness.sln +++ b/testing/TestHarness/TestHarness.sln @@ -208,6 +208,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Core.WinUI", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Navigation.Generators", "..\..\src\Uno.Extensions.Navigation.Generators\Uno.Extensions.Navigation.Generators.csproj", "{87A72917-4D00-4C93-A792-1A00DFD380E6}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.UI", "..\..\src\Uno.Extensions.Http.UI\Uno.Extensions.Http.UI.csproj", "{72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.Extensions.Http.WinUI", "..\..\src\Uno.Extensions.Http.UI\Uno.Extensions.Http.WinUI.csproj", "{FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Ad-Hoc|Any CPU = Ad-Hoc|Any CPU @@ -4383,6 +4387,118 @@ Global {87A72917-4D00-4C93-A792-1A00DFD380E6}.Release|x64.Build.0 = Release|Any CPU {87A72917-4D00-4C93-A792-1A00DFD380E6}.Release|x86.ActiveCfg = Release|Any CPU {87A72917-4D00-4C93-A792-1A00DFD380E6}.Release|x86.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|ARM.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|ARM64.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|ARM64.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|iPhone.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|x64.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|x64.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|x86.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.AppStore|x86.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|ARM.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|ARM.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|ARM64.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|iPhone.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|x64.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|x64.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|x86.ActiveCfg = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Debug|x86.Build.0 = Debug|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|Any CPU.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|ARM.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|ARM.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|ARM64.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|ARM64.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|iPhone.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|iPhone.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|x64.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|x64.Build.0 = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|x86.ActiveCfg = Release|Any CPU + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA}.Release|x86.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|ARM.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|ARM64.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|ARM64.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|iPhone.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|x64.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|x64.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|x86.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.AppStore|x86.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|ARM.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|ARM.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|ARM64.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|iPhone.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|x64.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|x64.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|x86.ActiveCfg = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Debug|x86.Build.0 = Debug|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|Any CPU.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|ARM.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|ARM.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|ARM64.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|ARM64.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|iPhone.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|iPhone.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|x64.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|x64.Build.0 = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|x86.ActiveCfg = Release|Any CPU + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4473,6 +4589,8 @@ Global {EB61C02F-B3DC-4297-9BFA-A676BE1BC652} = {3DE9532E-61E4-4B25-B0BD-B580BC63F6BD} {99D01288-4673-43AB-88A5-B9D42ABA7F81} = {3DE9532E-61E4-4B25-B0BD-B580BC63F6BD} {87A72917-4D00-4C93-A792-1A00DFD380E6} = {1380679E-0E34-4994-BD7F-1C848B11E761} + {72EAF7F2-A7CF-429B-9139-D7B435EFCFAA} = {5851B37C-ADC6-468D-8684-AC06476569AC} + {FE6C5BE3-3712-446C-BE40-CA9BE0D70EEC} = {5851B37C-ADC6-468D-8684-AC06476569AC} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C7433AE2-B1A0-4C1A-887E-5CAA7AAF67A6} From de6415ddfb9911e98ea6936b85adafdf5933ae38 Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Mon, 19 Jun 2023 23:14:58 +1000 Subject: [PATCH 5/7] fix: Adjusting tfms for http extension projects --- .../Uno.Extensions.Serialization.Http.csproj | 2 +- .../Uno.Extensions.Serialization.Refit.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Uno.Extensions.Serialization.Http/Uno.Extensions.Serialization.Http.csproj b/src/Uno.Extensions.Serialization.Http/Uno.Extensions.Serialization.Http.csproj index 4f67c5b35a..f734459a43 100644 --- a/src/Uno.Extensions.Serialization.Http/Uno.Extensions.Serialization.Http.csproj +++ b/src/Uno.Extensions.Serialization.Http/Uno.Extensions.Serialization.Http.csproj @@ -1,5 +1,5 @@  - + Serialization Extensions for working with ISerializer and Http for the Uno Platform, UWP and WinUI diff --git a/src/Uno.Extensions.Serialization.Refit/Uno.Extensions.Serialization.Refit.csproj b/src/Uno.Extensions.Serialization.Refit/Uno.Extensions.Serialization.Refit.csproj index 035aa56047..0afcefcfac 100644 --- a/src/Uno.Extensions.Serialization.Refit/Uno.Extensions.Serialization.Refit.csproj +++ b/src/Uno.Extensions.Serialization.Refit/Uno.Extensions.Serialization.Refit.csproj @@ -1,5 +1,5 @@  - + Serialization Extensions for working with ISerializer with HTTP and Refit for the Uno Platform, UWP and WinUI From 26e7b9a0c5a0756b7797efba3a249ef23a6bb0ed Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Tue, 20 Jun 2023 01:24:33 +1000 Subject: [PATCH 6/7] fix: build --- samples/Playground/Playground.sln | 1 + src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/samples/Playground/Playground.sln b/samples/Playground/Playground.sln index 1a96f62d0c..0476063b13 100644 --- a/samples/Playground/Playground.sln +++ b/samples/Playground/Playground.sln @@ -3489,5 +3489,6 @@ Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Playground.Shared\Playground.Shared.projitems*{1efb7b93-88d1-4f14-b335-bab42a49faf0}*SharedItemsImports = 5 Playground.Shared\Playground.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13 + Playground.Shared\Playground.Shared.projitems*{abbf2cf7-0ddb-4968-a6d8-8f8205f4a8d5}*SharedItemsImports = 4 EndGlobalSection EndGlobal diff --git a/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs b/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs index 66a1595f13..01ee9fdbf5 100644 --- a/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs +++ b/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; +using System; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Refit; using Uno.Extensions.Http; From 13cdf8cdc689cb30c545ef1e269a72a6f5be6057 Mon Sep 17 00:00:00 2001 From: Nick Randolph Date: Tue, 20 Jun 2023 01:24:33 +1000 Subject: [PATCH 7/7] fix: build --- samples/Playground/Playground.sln | 1 + .../Uno.Extensions.Authentication.MSAL.UI.csproj | 1 + .../Uno.Extensions.Authentication.MSAL.WinUI.csproj | 1 + .../Uno.Extensions.Authentication.Oidc.WinUI.csproj | 1 + .../Uno.Extensions.Authentication.UI.csproj | 1 + .../Uno.Extensions.Authentication.WinUI.csproj | 1 + src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs | 3 ++- src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj | 2 +- src/Uno.Extensions.Http/Uno.Extensions.Http.csproj | 2 +- 9 files changed, 10 insertions(+), 3 deletions(-) diff --git a/samples/Playground/Playground.sln b/samples/Playground/Playground.sln index 1a96f62d0c..0476063b13 100644 --- a/samples/Playground/Playground.sln +++ b/samples/Playground/Playground.sln @@ -3489,5 +3489,6 @@ Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Playground.Shared\Playground.Shared.projitems*{1efb7b93-88d1-4f14-b335-bab42a49faf0}*SharedItemsImports = 5 Playground.Shared\Playground.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13 + Playground.Shared\Playground.Shared.projitems*{abbf2cf7-0ddb-4968-a6d8-8f8205f4a8d5}*SharedItemsImports = 4 EndGlobalSection EndGlobal diff --git a/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.UI.csproj b/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.UI.csproj index 9c09379b65..80269e3ef4 100644 --- a/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.UI.csproj +++ b/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.UI.csproj @@ -42,6 +42,7 @@ + diff --git a/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.WinUI.csproj b/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.WinUI.csproj index 1d3a473bfc..51331b14a5 100644 --- a/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.WinUI.csproj +++ b/src/Uno.Extensions.Authentication.MSAL/Uno.Extensions.Authentication.MSAL.WinUI.csproj @@ -57,6 +57,7 @@ + diff --git a/src/Uno.Extensions.Authentication.Oidc/Uno.Extensions.Authentication.Oidc.WinUI.csproj b/src/Uno.Extensions.Authentication.Oidc/Uno.Extensions.Authentication.Oidc.WinUI.csproj index 604ac1c2c3..9aee5025ba 100644 --- a/src/Uno.Extensions.Authentication.Oidc/Uno.Extensions.Authentication.Oidc.WinUI.csproj +++ b/src/Uno.Extensions.Authentication.Oidc/Uno.Extensions.Authentication.Oidc.WinUI.csproj @@ -21,5 +21,6 @@ + diff --git a/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.UI.csproj b/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.UI.csproj index ccfd1eb3b8..9b6cc1d5ac 100644 --- a/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.UI.csproj +++ b/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.UI.csproj @@ -14,5 +14,6 @@ + diff --git a/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.WinUI.csproj b/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.WinUI.csproj index 0d3db68e8b..85cf98afdf 100644 --- a/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.WinUI.csproj +++ b/src/Uno.Extensions.Authentication.UI/Uno.Extensions.Authentication.WinUI.csproj @@ -19,5 +19,6 @@ + diff --git a/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs b/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs index 66a1595f13..01ee9fdbf5 100644 --- a/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs +++ b/src/Uno.Extensions.Http.Refit/ServiceCollectionExtensions.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; +using System; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Refit; using Uno.Extensions.Http; diff --git a/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj b/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj index 0a362407cc..6547744c59 100644 --- a/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj +++ b/src/Uno.Extensions.Http.Refit/Uno.Extensions.Http.Refit.csproj @@ -1,4 +1,4 @@ - + diff --git a/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj b/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj index 3d1eedfce9..049f4f963a 100644 --- a/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj +++ b/src/Uno.Extensions.Http/Uno.Extensions.Http.csproj @@ -1,4 +1,4 @@ - +