diff --git a/src/Shiny.Mediator.AppSupport/AppSupportExtensions.cs b/src/Shiny.Mediator.AppSupport/AppSupportExtensions.cs
index fc22de3..fba1159 100644
--- a/src/Shiny.Mediator.AppSupport/AppSupportExtensions.cs
+++ b/src/Shiny.Mediator.AppSupport/AppSupportExtensions.cs
@@ -3,9 +3,35 @@
namespace Shiny.Mediator;
-
public static class AppSupportExtensions
{
+ ///
+ /// Adds standard app support middleware - offline, replay stream, & user notification
+ ///
+ ///
+ ///
+ public static ShinyConfigurator AddStandardAppSupportMiddleware(this ShinyConfigurator cfg)
+ {
+ cfg.AddUserNotificationExceptionMiddleware();
+ cfg.AddOfflineAvailabilityMiddleware();
+ cfg.AddReplayStreamMiddleware();
+ return cfg;
+ }
+
+
+ ///
+ /// Allows you to mark [UserNotify] on your request handlers which logs an error & displays an alert to the user
+ /// to show a customized message
+ ///
+ ///
+ ///
+ public static ShinyConfigurator AddUserNotificationExceptionMiddleware(this ShinyConfigurator cfg)
+ {
+ cfg.AddOpenRequestMiddleware(typeof(UserExceptionRequestMiddleware<,>));
+ return cfg;
+ }
+
+
///
/// Allows your request /w result handlers to return a stored value when offline is detected
///
diff --git a/src/Shiny.Mediator.Blazor/BlazorExtensions.cs b/src/Shiny.Mediator.Blazor/BlazorExtensions.cs
index 42fb3ca..75de40a 100644
--- a/src/Shiny.Mediator.Blazor/BlazorExtensions.cs
+++ b/src/Shiny.Mediator.Blazor/BlazorExtensions.cs
@@ -9,7 +9,7 @@ namespace Shiny.Mediator;
public static class BlazorExtensions
{
- public static ShinyConfigurator UseBlazor(this ShinyConfigurator cfg)
+ public static ShinyConfigurator UseBlazor(this ShinyConfigurator cfg, bool includeStandardMiddleware = true)
{
cfg.Services.AddSingletonAsImplementedInterfaces();
if (RuntimeInformation.IsOSPlatform(OSPlatform.Create("Browser")))
@@ -17,6 +17,9 @@ public static ShinyConfigurator UseBlazor(this ShinyConfigurator cfg)
cfg.Services.TryAddSingleton();
cfg.Services.TryAddSingleton();
cfg.Services.TryAddSingleton();
+
+ if (includeStandardMiddleware)
+ cfg.AddStandardAppSupportMiddleware();
}
return cfg;
}
diff --git a/src/Shiny.Mediator.Maui/MauiExtensions.cs b/src/Shiny.Mediator.Maui/MauiExtensions.cs
index d942fff..27b2a90 100644
--- a/src/Shiny.Mediator.Maui/MauiExtensions.cs
+++ b/src/Shiny.Mediator.Maui/MauiExtensions.cs
@@ -28,9 +28,7 @@ public static ShinyConfigurator UseMaui(this ShinyConfigurator cfg, bool include
if (includeStandardMiddleware)
{
cfg.AddMainThreadMiddleware();
- cfg.AddUserNotificationExceptionMiddleware();
- cfg.AddOfflineAvailabilityMiddleware();
- cfg.AddReplayStreamMiddleware();
+ cfg.AddStandardAppSupportMiddleware();
}
return cfg;
}
@@ -83,17 +81,4 @@ public static ShinyConfigurator AddMainThreadMiddleware(this ShinyConfigurator c
return cfg;
}
-
-
- ///
- /// Allows you to mark [UserNotify] on your request handlers which logs an error & displays an alert to the user
- /// to show a customized message
- ///
- ///
- ///
- public static ShinyConfigurator AddUserNotificationExceptionMiddleware(this ShinyConfigurator cfg)
- {
- cfg.AddOpenRequestMiddleware(typeof(UserExceptionRequestMiddleware<,>));
- return cfg;
- }
}
\ No newline at end of file