feat(archival): support getting file extension from non-absolute URIs

This commit is contained in:
Collin M. Barrett 2020-09-29 07:38:27 -05:00
parent 68b6b297f6
commit 350334ddde
2 changed files with 22 additions and 12 deletions

View file

@ -0,0 +1,20 @@
using System;
using System.IO;
namespace FilterLists.Archival.Domain.Extensions
{
public static class UriExtension
{
private static readonly Uri DummyBaseUri = new Uri("http://localhost");
public static string GetFileExtension(this Uri uri)
{
if (!uri.IsAbsoluteUri)
{
uri = new Uri(DummyBaseUri, uri);
}
return Path.GetExtension(uri.LocalPath);
}
}
}

View file

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using FilterLists.Archival.Domain.Extensions;
using FilterLists.Archival.Domain.SeedWork;
namespace FilterLists.Archival.Domain.Lists
@ -56,16 +55,7 @@ private ListFileExtension(string value)
public static ListFileExtension FromUri(Uri uri)
{
_ = uri ?? throw new ArgumentNullException(nameof(uri));
if (!uri.IsAbsoluteUri)
{
// TODO: implement
throw new NotImplementedException();
}
var extension = Path.GetExtension(Uri.UnescapeDataString(uri.Segments.Last()));
return new ListFileExtension(extension);
return new ListFileExtension(uri.GetFileExtension());
}
protected override IEnumerable<object> GetEqualityComponents()