diff --git a/src/NzbDrone.Common.Test/ExtensionTests/UrlExtensionsFixture.cs b/src/NzbDrone.Common.Test/ExtensionTests/UrlExtensionsFixture.cs
new file mode 100644
index 000000000..eae0736dc
--- /dev/null
+++ b/src/NzbDrone.Common.Test/ExtensionTests/UrlExtensionsFixture.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using FluentAssertions;
+using NUnit.Framework;
+using NzbDrone.Common.Extensions;
+
+namespace NzbDrone.Common.Test.ExtensionTests
+{
+ [TestFixture]
+ public class UrlExtensionsFixture
+ {
+ [TestCase("http://my.local/url")]
+ [TestCase("https://my.local/url")]
+ public void should_report_as_valid_url(string url)
+ {
+ url.IsValidUrl().Should().BeTrue();
+ }
+
+ [TestCase("")]
+ [TestCase(" http://my.local/url")]
+ [TestCase("http://my.local/url ")]
+ public void should_report_as_invalid_url(string url)
+ {
+ url.IsValidUrl().Should().BeFalse();
+ }
+ }
+}
diff --git a/src/NzbDrone.Common.Test/NzbDrone.Common.Test.csproj b/src/NzbDrone.Common.Test/NzbDrone.Common.Test.csproj
index 8f80dbe36..1e5a90f3d 100644
--- a/src/NzbDrone.Common.Test/NzbDrone.Common.Test.csproj
+++ b/src/NzbDrone.Common.Test/NzbDrone.Common.Test.csproj
@@ -80,6 +80,7 @@
+
diff --git a/src/NzbDrone.Common/Extensions/UrlExtensions.cs b/src/NzbDrone.Common/Extensions/UrlExtensions.cs
index b2dac6c19..50e0b9856 100644
--- a/src/NzbDrone.Common/Extensions/UrlExtensions.cs
+++ b/src/NzbDrone.Common/Extensions/UrlExtensions.cs
@@ -11,6 +11,11 @@ public static bool IsValidUrl(this string path)
return false;
}
+ if (path.StartsWith(" ") || path.EndsWith(" "))
+ {
+ return false;
+ }
+
Uri uri;
if (!Uri.TryCreate(path, UriKind.Absolute, out uri))
{