From 6c9a98c2c94d2dcea004cd99ce67555dd12ef9c3 Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Sun, 7 Apr 2024 13:30:38 +0800 Subject: [PATCH] refactor infobarservice --- .../Extension}/BuilderExtension.cs | 3 +- .../Builder => Core}/Abstraction/IBuilder.cs | 2 +- .../Notification/IInfoBarOptionsBuilder.cs | 11 ++++ .../Service/Notification/IInfoBarService.cs | 2 +- .../Service/Notification/InfoBarOptions.cs | 24 +++++++ .../Notification/InfoBarOptionsBuilder.cs | 14 +++++ .../InfoBarOptionsBuilderExtension.cs | 40 ++++++++++++ .../Service/Notification/InfoBarService.cs | 20 +++--- .../Notification/InfoBarServiceExtension.cs | 63 ++++++++++++------- .../Abstraction/IHttpContentBuilder.cs | 1 + .../Abstraction/IHttpHeadersBuilder.cs | 1 + .../Builder/Abstraction/IHttpMethodBuilder.cs | 1 + .../IHttpProtocolVersionBuilder.cs | 2 + .../Abstraction/IHttpRequestMessageBuilder.cs | 1 + .../Abstraction/IHttpRequestOptionsBuilder.cs | 1 + .../Builder/Abstraction/IRequestUriBuilder.cs | 2 + .../Builder/HttpContentBuilderExtension.cs | 1 + .../Builder/HttpHeadersBuilderExtension.cs | 1 + .../Builder/HttpMethodBuilderExtension.cs | 1 + .../Builder/HttpRequestMessageBuilder.cs | 1 + .../Builder/RequestUriBuilderExtension.cs | 1 + 21 files changed, 160 insertions(+), 33 deletions(-) rename src/Snap.Hutao/Snap.Hutao/{Web/Request/Builder => Core/Abstraction/Extension}/BuilderExtension.cs (91%) rename src/Snap.Hutao/Snap.Hutao/{Web/Request/Builder => Core}/Abstraction/IBuilder.cs (68%) create mode 100644 src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarOptionsBuilder.cs create mode 100644 src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptions.cs create mode 100644 src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilder.cs create mode 100644 src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilderExtension.cs diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/BuilderExtension.cs b/src/Snap.Hutao/Snap.Hutao/Core/Abstraction/Extension/BuilderExtension.cs similarity index 91% rename from src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/BuilderExtension.cs rename to src/Snap.Hutao/Snap.Hutao/Core/Abstraction/Extension/BuilderExtension.cs index b52abeb8..fa9de4a1 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/BuilderExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Abstraction/Extension/BuilderExtension.cs @@ -1,10 +1,9 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Web.Request.Builder.Abstraction; using System.Diagnostics; -namespace Snap.Hutao.Web.Request.Builder; +namespace Snap.Hutao.Core.Abstraction.Extension; internal static class BuilderExtension { diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Core/Abstraction/IBuilder.cs similarity index 68% rename from src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IBuilder.cs rename to src/Snap.Hutao/Snap.Hutao/Core/Abstraction/IBuilder.cs index 70932709..d38374d7 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Abstraction/IBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -namespace Snap.Hutao.Web.Request.Builder.Abstraction; +namespace Snap.Hutao.Core.Abstraction; internal interface IBuilder; \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarOptionsBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarOptionsBuilder.cs new file mode 100644 index 00000000..3bb8c1aa --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarOptionsBuilder.cs @@ -0,0 +1,11 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Snap.Hutao.Core.Abstraction; + +namespace Snap.Hutao.Service.Notification; + +internal interface IInfoBarOptionsBuilder : IBuilder +{ + public InfoBarOptions Options { get; } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarService.cs index 2cc22e7e..0e5d11a5 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/IInfoBarService.cs @@ -11,5 +11,5 @@ internal interface IInfoBarService { ObservableCollection Collection { get; } - void PrepareInfoBarAndShow(InfoBarSeverity severity, string? title, string? message, int delay); + void PrepareInfoBarAndShow(Action configure); } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptions.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptions.cs new file mode 100644 index 00000000..d95e646f --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptions.cs @@ -0,0 +1,24 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Animation; +using Snap.Hutao.Core.Abstraction; +using Snap.Hutao.Core.Abstraction.Extension; +using System.Collections.ObjectModel; +using Windows.Foundation; + +namespace Snap.Hutao.Service.Notification; + +internal sealed class InfoBarOptions +{ + public InfoBarSeverity Severity { get; set; } + + public string? Title { get; set; } + + public string? Message { get; set; } + + public object? Content { get; set; } + + public int MilliSecondsDelay { get; set; } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilder.cs new file mode 100644 index 00000000..5637fe8a --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilder.cs @@ -0,0 +1,14 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Animation; +using System.Collections.ObjectModel; +using Windows.Foundation; + +namespace Snap.Hutao.Service.Notification; + +internal sealed class InfoBarOptionsBuilder : IInfoBarOptionsBuilder +{ + public InfoBarOptions Options { get; } = new(); +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilderExtension.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilderExtension.cs new file mode 100644 index 00000000..f683ec38 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarOptionsBuilderExtension.cs @@ -0,0 +1,40 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Microsoft.UI.Xaml.Controls; +using Snap.Hutao.Core.Abstraction.Extension; + +namespace Snap.Hutao.Service.Notification; + +internal static class InfoBarOptionsBuilderExtension +{ + public static IInfoBarOptionsBuilder SetSeverity(this IInfoBarOptionsBuilder builder, InfoBarSeverity severity) + { + builder.Configure(builder => builder.Options.Severity = severity); + return builder; + } + + public static IInfoBarOptionsBuilder SetTitle(this IInfoBarOptionsBuilder builder, string? title) + { + builder.Configure(builder => builder.Options.Title = title); + return builder; + } + + public static IInfoBarOptionsBuilder SetMessage(this IInfoBarOptionsBuilder builder, string? message) + { + builder.Configure(builder => builder.Options.Message = message); + return builder; + } + + public static IInfoBarOptionsBuilder SetContent(this IInfoBarOptionsBuilder builder, object? content) + { + builder.Configure(builder => builder.Options.Content = content); + return builder; + } + + public static IInfoBarOptionsBuilder SetDelay(this IInfoBarOptionsBuilder builder, int milliSeconds) + { + builder.Configure(builder => builder.Options.MilliSecondsDelay = milliSeconds); + return builder; + } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs index e7c3daf2..4c98ca88 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs @@ -3,6 +3,7 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Media.Animation; +using Snap.Hutao.Core.Abstraction.Extension; using System.Collections.ObjectModel; using Windows.Foundation; @@ -34,25 +35,28 @@ internal sealed class InfoBarService : IInfoBarService get => collection ??= []; } - public void PrepareInfoBarAndShow(InfoBarSeverity severity, string? title, string? message, int delay) + public void PrepareInfoBarAndShow(Action configure) { if (collection is null) { return; } - PrepareInfoBarAndShowCoreAsync(severity, title, message, delay).SafeForget(logger); + PrepareInfoBarAndShowCoreAsync(configure).SafeForget(logger); } - private async ValueTask PrepareInfoBarAndShowCoreAsync(InfoBarSeverity severity, string? title, string? message, int delay) + private async ValueTask PrepareInfoBarAndShowCoreAsync(Action configure) { + IInfoBarOptionsBuilder builder = new InfoBarOptionsBuilder().Configure(configure); + await taskContext.SwitchToMainThreadAsync(); InfoBar infoBar = new() { - Severity = severity, - Title = title, - Message = message, + Severity = builder.Options.Severity, + Title = builder.Options.Title, + Message = builder.Options.Message, + Content = builder.Options.Content, IsOpen = true, Transitions = [new AddDeleteThemeTransition()], }; @@ -61,9 +65,9 @@ internal sealed class InfoBarService : IInfoBarService ArgumentNullException.ThrowIfNull(collection); collection.Add(infoBar); - if (delay > 0) + if (builder.Options.MilliSecondsDelay > 0) { - await Delay.FromMilliSeconds(delay).ConfigureAwait(true); + await Delay.FromMilliSeconds(builder.Options.MilliSecondsDelay).ConfigureAwait(true); collection.Remove(infoBar); infoBar.IsOpen = false; } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarServiceExtension.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarServiceExtension.cs index 2a966d5f..88ccebbc 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarServiceExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarServiceExtension.cs @@ -2,58 +2,79 @@ // Licensed under the MIT license. using Microsoft.UI.Xaml.Controls; +using Snap.Hutao.Core.Abstraction.Extension; namespace Snap.Hutao.Service.Notification; internal static class InfoBarServiceExtension { - public static void Information(this IInfoBarService infoBarService, string message, int delay = 5000) + public static void Information(this IInfoBarService infoBarService, string message, int milliSeconds = 5000) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Informational, null, message, delay); + infoBarService.Information(builder => builder.SetMessage(message).SetDelay(milliSeconds)); } - public static void Information(this IInfoBarService infoBarService, string title, string message, int delay = 5000) + public static void Information(this IInfoBarService infoBarService, string title, string message, int milliSeconds = 5000) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Informational, title, message, delay); + infoBarService.Information(builder => builder.SetTitle(title).SetMessage(message).SetDelay(milliSeconds)); } - public static void Success(this IInfoBarService infoBarService, string message, int delay = 5000) + public static void Information(this IInfoBarService infoBarService, Action configure) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Success, null, message, delay); + infoBarService.PrepareInfoBarAndShow(builder => builder.SetSeverity(InfoBarSeverity.Informational).Configure(configure)); } - public static void Success(this IInfoBarService infoBarService, string title, string message, int delay = 5000) + public static void Success(this IInfoBarService infoBarService, string message, int milliSeconds = 5000) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Success, title, message, delay); + infoBarService.Success(builder => builder.SetMessage(message).SetDelay(milliSeconds)); } - public static void Warning(this IInfoBarService infoBarService, string message, int delay = 30000) + public static void Success(this IInfoBarService infoBarService, string title, string message, int milliSeconds = 5000) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Warning, null, message, delay); + infoBarService.Success(builder => builder.SetTitle(title).SetMessage(message).SetDelay(milliSeconds)); } - public static void Warning(this IInfoBarService infoBarService, string title, string message, int delay = 30000) + public static void Success(this IInfoBarService infoBarService, Action configure) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Warning, title, message, delay); + infoBarService.PrepareInfoBarAndShow(builder => builder.SetSeverity(InfoBarSeverity.Success).Configure(configure)); } - public static void Error(this IInfoBarService infoBarService, string message, int delay = 0) + public static void Warning(this IInfoBarService infoBarService, string message, int milliSeconds = 30000) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Error, null, message, delay); + infoBarService.Warning(builder => builder.SetMessage(message).SetDelay(milliSeconds)); } - public static void Error(this IInfoBarService infoBarService, string title, string message, int delay = 0) + public static void Warning(this IInfoBarService infoBarService, string title, string message, int milliSeconds = 30000) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Error, title, message, delay); + infoBarService.Warning(builder => builder.SetTitle(title).SetMessage(message).SetDelay(milliSeconds)); } - public static void Error(this IInfoBarService infoBarService, Exception ex, int delay = 0) + public static void Warning(this IInfoBarService infoBarService, Action configure) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Error, ex.GetType().Name, ex.Message, delay); + infoBarService.PrepareInfoBarAndShow(builder => builder.SetSeverity(InfoBarSeverity.Warning).Configure(configure)); } - public static void Error(this IInfoBarService infoBarService, Exception ex, string title, int delay = 0) + public static void Error(this IInfoBarService infoBarService, string message, int milliSeconds = 0) { - infoBarService.PrepareInfoBarAndShow(InfoBarSeverity.Error, ex.GetType().Name, $"{title}\n{ex.Message}", delay); + infoBarService.Error(builder => builder.SetMessage(message).SetDelay(milliSeconds)); } -} + + public static void Error(this IInfoBarService infoBarService, string title, string message, int milliSeconds = 0) + { + infoBarService.Error(builder => builder.SetTitle(title).SetMessage(message).SetDelay(milliSeconds)); + } + + public static void Error(this IInfoBarService infoBarService, Exception ex, int milliSeconds = 0) + { + infoBarService.Error(builder => builder.SetTitle(ex.GetType().Name).SetMessage(ex.Message).SetDelay(milliSeconds)); + } + + public static void Error(this IInfoBarService infoBarService, Exception ex, string subtitle, int milliSeconds = 0) + { + infoBarService.Error(builder => builder.SetTitle(ex.GetType().Name).SetMessage($"{subtitle}\n{ex.Message}").SetDelay(milliSeconds)); + } + + public static void Error(this IInfoBarService infoBarService, Action configure) + { + infoBarService.PrepareInfoBarAndShow(builder => builder.SetSeverity(InfoBarSeverity.Error).Configure(configure)); + } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpContentBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpContentBuilder.cs index 0025dd7f..52a6ffd0 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpContentBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpContentBuilder.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using System.Net.Http; +using Snap.Hutao.Core.Abstraction; namespace Snap.Hutao.Web.Request.Builder.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpHeadersBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpHeadersBuilder.cs index 242bbaeb..ecea5bf2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpHeadersBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpHeadersBuilder.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using System.Net.Http.Headers; +using Snap.Hutao.Core.Abstraction; namespace Snap.Hutao.Web.Request.Builder.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpMethodBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpMethodBuilder.cs index a2910d45..5c29f4ad 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpMethodBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpMethodBuilder.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using System.Net.Http; +using Snap.Hutao.Core.Abstraction; namespace Snap.Hutao.Web.Request.Builder.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpProtocolVersionBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpProtocolVersionBuilder.cs index 8ac267fa..7bf30ad2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpProtocolVersionBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpProtocolVersionBuilder.cs @@ -1,6 +1,8 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction; + namespace Snap.Hutao.Web.Request.Builder.Abstraction; internal interface IHttpProtocolVersionBuilder : IBuilder diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestMessageBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestMessageBuilder.cs index 10127273..eb5f7d83 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestMessageBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestMessageBuilder.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using System.Net.Http; +using Snap.Hutao.Core.Abstraction; namespace Snap.Hutao.Web.Request.Builder.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestOptionsBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestOptionsBuilder.cs index fddf7e6d..132820eb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestOptionsBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IHttpRequestOptionsBuilder.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using System.Net.Http; +using Snap.Hutao.Core.Abstraction; namespace Snap.Hutao.Web.Request.Builder.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IRequestUriBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IRequestUriBuilder.cs index d1084eb6..41e75462 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IRequestUriBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/Abstraction/IRequestUriBuilder.cs @@ -1,6 +1,8 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction; + namespace Snap.Hutao.Web.Request.Builder.Abstraction; internal interface IRequestUriBuilder : IBuilder diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpContentBuilderExtension.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpContentBuilderExtension.cs index 2cf41fc9..e0fa7755 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpContentBuilderExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpContentBuilderExtension.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction.Extension; using Snap.Hutao.Web.Request.Builder.Abstraction; using System.Diagnostics; using System.Net.Http; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpHeadersBuilderExtension.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpHeadersBuilderExtension.cs index 8c2c10e4..acfc3f73 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpHeadersBuilderExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpHeadersBuilderExtension.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction.Extension; using Snap.Hutao.Web.Request.Builder.Abstraction; using System.Diagnostics; using System.Net.Http.Headers; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpMethodBuilderExtension.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpMethodBuilderExtension.cs index c28e5bfb..234cebdb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpMethodBuilderExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpMethodBuilderExtension.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction.Extension; using Snap.Hutao.Web.Request.Builder.Abstraction; using System.Diagnostics; using System.Net.Http; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpRequestMessageBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpRequestMessageBuilder.cs index a5edb4b1..fad7ec07 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpRequestMessageBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpRequestMessageBuilder.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction; using Snap.Hutao.Web.Request.Builder.Abstraction; using System.Net.Http; using System.Net.Http.Headers; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/RequestUriBuilderExtension.cs b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/RequestUriBuilderExtension.cs index 0741807a..426f7003 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/RequestUriBuilderExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/RequestUriBuilderExtension.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.Abstraction.Extension; using Snap.Hutao.Web.Request.Builder.Abstraction; using System.Diagnostics;