diff --git a/src/FilterLists.Services/Extensions/StringExtensions.cs b/src/FilterLists.Services/Extensions/StringExtensions.cs
new file mode 100644
index 000000000..bf25db4ca
--- /dev/null
+++ b/src/FilterLists.Services/Extensions/StringExtensions.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Linq;
+
+namespace FilterLists.Services.Extensions
+{
+ public static class StringExtensions
+ {
+ public static bool IsValidHttpOrHttpsUrl(this string source) =>
+ Uri.TryCreate(source, UriKind.Absolute, out var uriResult) &&
+ new[] {Uri.UriSchemeHttps, Uri.UriSchemeHttp}.Contains(uriResult.Scheme);
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.Services/FilterLists.Services.csproj b/src/FilterLists.Services/FilterLists.Services.csproj
index abacb7ccc..ab115a047 100644
--- a/src/FilterLists.Services/FilterLists.Services.csproj
+++ b/src/FilterLists.Services/FilterLists.Services.csproj
@@ -29,8 +29,4 @@
-
-
-
-
\ No newline at end of file
diff --git a/src/FilterLists.Services/Snapshot/Snapshot.cs b/src/FilterLists.Services/Snapshot/Snapshot.cs
index 45f935635..91be84ddb 100644
--- a/src/FilterLists.Services/Snapshot/Snapshot.cs
+++ b/src/FilterLists.Services/Snapshot/Snapshot.cs
@@ -45,7 +45,7 @@ public Snapshot(FilterListsDbContext dbContext, EmailService emailService, Filte
public async Task TrySaveAsync()
{
await AddSnapEntity();
- if (!IsViewUrlValid())
+ if (!list.ViewUrl.IsValidHttpOrHttpsUrl())
return;
try
{
@@ -63,10 +63,6 @@ private async Task AddSnapEntity()
await dbContext.SaveChangesAsync();
}
- private bool IsViewUrlValid() =>
- Uri.TryCreate(list.ViewUrl, UriKind.Absolute, out var uriResult) &&
- (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
-
private async Task SaveAsync()
{
using (var transaction = dbContext.Database.BeginTransaction())