Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save smdn/32e13a0afc7ec50c8c6ce76d396af46f to your computer and use it in GitHub Desktop.
Save smdn/32e13a0afc7ec50c8c6ce76d396af46f to your computer and use it in GitHub Desktop.
Smdn.Fundamental.MimeType 3.0.2 Release Notes

main/Smdn.Fundamental.MimeType-3.0.2

diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
index d2b2911b..6ab971d3 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
@@ -1,67 +1,67 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.1 (net45))
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.2)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.0.1.0
-// InformationalVersion: 3.0.1 (net45)
+// AssemblyVersion: 3.0.2.0
+// InformationalVersion: 3.0.2+53f78e8e599784381721a51f463d3202aeade3d8
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class MimeType :
IEquatable<MimeType>,
IEquatable<string>
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType TextPlain; // = "text/plain"
public MimeType((string type, string subType) mimeType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public string SubType { get; }
public string Type { get; }
public static MimeType CreateApplicationType(string subtype) {}
public static MimeType CreateAudioType(string subtype) {}
public static MimeType CreateImageType(string subtype) {}
public static MimeType CreateMultipartType(string subtype) {}
public static MimeType CreateTextType(string subtype) {}
public static MimeType CreateVideoType(string subtype) {}
public void Deconstruct(out string type, out string subType) {}
public bool Equals(MimeType other) {}
public bool Equals(string other) {}
public override bool Equals(object obj) {}
public bool EqualsIgnoreCase(MimeType other) {}
public bool EqualsIgnoreCase(string other) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
public override int GetHashCode() {}
public static (string type, string subType) Parse(string s) {}
public bool SubTypeEquals(MimeType mimeType) {}
public bool SubTypeEquals(string subType) {}
public bool SubTypeEqualsIgnoreCase(MimeType mimeType) {}
public bool SubTypeEqualsIgnoreCase(string subType) {}
public override string ToString() {}
public static bool TryParse(string s, out (string type, string subType) result) {}
public static bool TryParse(string s, out MimeType result) {}
public bool TypeEquals(MimeType mimeType) {}
public bool TypeEquals(string type) {}
public bool TypeEqualsIgnoreCase(MimeType mimeType) {}
public bool TypeEqualsIgnoreCase(string type) {}
public static explicit operator string(MimeType mimeType) {}
}
}
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
index 321bd915..904bc0ed 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
@@ -1,67 +1,67 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.1 (net471))
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.2)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.0.1.0
-// InformationalVersion: 3.0.1 (net471)
+// AssemblyVersion: 3.0.2.0
+// InformationalVersion: 3.0.2+53f78e8e599784381721a51f463d3202aeade3d8
// TargetFramework: .NETFramework,Version=v4.7.1
// Configuration: Release
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class MimeType :
IEquatable<MimeType>,
IEquatable<string>
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType TextPlain; // = "text/plain"
public MimeType((string type, string subType) mimeType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public string SubType { get; }
public string Type { get; }
public static MimeType CreateApplicationType(string subtype) {}
public static MimeType CreateAudioType(string subtype) {}
public static MimeType CreateImageType(string subtype) {}
public static MimeType CreateMultipartType(string subtype) {}
public static MimeType CreateTextType(string subtype) {}
public static MimeType CreateVideoType(string subtype) {}
public void Deconstruct(out string type, out string subType) {}
public bool Equals(MimeType other) {}
public bool Equals(string other) {}
public override bool Equals(object obj) {}
public bool EqualsIgnoreCase(MimeType other) {}
public bool EqualsIgnoreCase(string other) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
public override int GetHashCode() {}
public static (string type, string subType) Parse(string s) {}
public bool SubTypeEquals(MimeType mimeType) {}
public bool SubTypeEquals(string subType) {}
public bool SubTypeEqualsIgnoreCase(MimeType mimeType) {}
public bool SubTypeEqualsIgnoreCase(string subType) {}
public override string ToString() {}
public static bool TryParse(string s, out (string type, string subType) result) {}
public static bool TryParse(string s, out MimeType result) {}
public bool TypeEquals(MimeType mimeType) {}
public bool TypeEquals(string type) {}
public bool TypeEqualsIgnoreCase(MimeType mimeType) {}
public bool TypeEqualsIgnoreCase(string type) {}
public static explicit operator string(MimeType mimeType) {}
}
}
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs
index f398765b..f27435e6 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs
@@ -1,67 +1,67 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.1 (netstandard1.6))
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.2)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.0.1.0
-// InformationalVersion: 3.0.1 (netstandard1.6)
+// AssemblyVersion: 3.0.2.0
+// InformationalVersion: 3.0.2+53f78e8e599784381721a51f463d3202aeade3d8
// TargetFramework: .NETStandard,Version=v1.6
// Configuration: Release
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class MimeType :
IEquatable<MimeType>,
IEquatable<string>
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType TextPlain; // = "text/plain"
public MimeType((string type, string subType) mimeType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public string SubType { get; }
public string Type { get; }
public static MimeType CreateApplicationType(string subtype) {}
public static MimeType CreateAudioType(string subtype) {}
public static MimeType CreateImageType(string subtype) {}
public static MimeType CreateMultipartType(string subtype) {}
public static MimeType CreateTextType(string subtype) {}
public static MimeType CreateVideoType(string subtype) {}
public void Deconstruct(out string type, out string subType) {}
public bool Equals(MimeType other) {}
public bool Equals(string other) {}
public override bool Equals(object obj) {}
public bool EqualsIgnoreCase(MimeType other) {}
public bool EqualsIgnoreCase(string other) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
public override int GetHashCode() {}
public static (string type, string subType) Parse(string s) {}
public bool SubTypeEquals(MimeType mimeType) {}
public bool SubTypeEquals(string subType) {}
public bool SubTypeEqualsIgnoreCase(MimeType mimeType) {}
public bool SubTypeEqualsIgnoreCase(string subType) {}
public override string ToString() {}
public static bool TryParse(string s, out (string type, string subType) result) {}
public static bool TryParse(string s, out MimeType result) {}
public bool TypeEquals(MimeType mimeType) {}
public bool TypeEquals(string type) {}
public bool TypeEqualsIgnoreCase(MimeType mimeType) {}
public bool TypeEqualsIgnoreCase(string type) {}
public static explicit operator string(MimeType mimeType) {}
}
}
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs
index 0a69d91c..007a7166 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs
@@ -1,67 +1,67 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.1 (netstandard2.0))
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.2)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.0.1.0
-// InformationalVersion: 3.0.1 (netstandard2.0)
+// AssemblyVersion: 3.0.2.0
+// InformationalVersion: 3.0.2+53f78e8e599784381721a51f463d3202aeade3d8
// TargetFramework: .NETStandard,Version=v2.0
// Configuration: Release
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class MimeType :
IEquatable<MimeType>,
IEquatable<string>
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType TextPlain; // = "text/plain"
public MimeType((string type, string subType) mimeType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public string SubType { get; }
public string Type { get; }
public static MimeType CreateApplicationType(string subtype) {}
public static MimeType CreateAudioType(string subtype) {}
public static MimeType CreateImageType(string subtype) {}
public static MimeType CreateMultipartType(string subtype) {}
public static MimeType CreateTextType(string subtype) {}
public static MimeType CreateVideoType(string subtype) {}
public void Deconstruct(out string type, out string subType) {}
public bool Equals(MimeType other) {}
public bool Equals(string other) {}
public override bool Equals(object obj) {}
public bool EqualsIgnoreCase(MimeType other) {}
public bool EqualsIgnoreCase(string other) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
public override int GetHashCode() {}
public static (string type, string subType) Parse(string s) {}
public bool SubTypeEquals(MimeType mimeType) {}
public bool SubTypeEquals(string subType) {}
public bool SubTypeEqualsIgnoreCase(MimeType mimeType) {}
public bool SubTypeEqualsIgnoreCase(string subType) {}
public override string ToString() {}
public static bool TryParse(string s, out (string type, string subType) result) {}
public static bool TryParse(string s, out MimeType result) {}
public bool TypeEquals(MimeType mimeType) {}
public bool TypeEquals(string type) {}
public bool TypeEqualsIgnoreCase(MimeType mimeType) {}
public bool TypeEqualsIgnoreCase(string type) {}
public static explicit operator string(MimeType mimeType) {}
}
}
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs
index a7035c68..12024778 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs
@@ -1,67 +1,67 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.1 (netstandard2.1))
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.0.2)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.0.1.0
-// InformationalVersion: 3.0.1 (netstandard2.1)
+// AssemblyVersion: 3.0.2.0
+// InformationalVersion: 3.0.2+53f78e8e599784381721a51f463d3202aeade3d8
// TargetFramework: .NETStandard,Version=v2.1
// Configuration: Release
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class MimeType :
IEquatable<MimeType>,
IEquatable<string>
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType TextPlain; // = "text/plain"
public MimeType((string type, string subType) mimeType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public string SubType { get; }
public string Type { get; }
public static MimeType CreateApplicationType(string subtype) {}
public static MimeType CreateAudioType(string subtype) {}
public static MimeType CreateImageType(string subtype) {}
public static MimeType CreateMultipartType(string subtype) {}
public static MimeType CreateTextType(string subtype) {}
public static MimeType CreateVideoType(string subtype) {}
public void Deconstruct(out string type, out string subType) {}
public bool Equals(MimeType other) {}
public bool Equals(string other) {}
public override bool Equals(object obj) {}
public bool EqualsIgnoreCase(MimeType other) {}
public bool EqualsIgnoreCase(string other) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
public override int GetHashCode() {}
public static (string type, string subType) Parse(string s) {}
public bool SubTypeEquals(MimeType mimeType) {}
public bool SubTypeEquals(string subType) {}
public bool SubTypeEqualsIgnoreCase(MimeType mimeType) {}
public bool SubTypeEqualsIgnoreCase(string subType) {}
public override string ToString() {}
public static bool TryParse(string s, out (string type, string subType) result) {}
public static bool TryParse(string s, out MimeType result) {}
public bool TypeEquals(MimeType mimeType) {}
public bool TypeEquals(string type) {}
public bool TypeEqualsIgnoreCase(MimeType mimeType) {}
public bool TypeEqualsIgnoreCase(string type) {}
public static explicit operator string(MimeType mimeType) {}
}
}
diff --git a/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj b/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj
index 1eeb191b..62629ed8 100644
--- a/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj
+++ b/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj
@@ -5,16 +5,17 @@ SPDX-License-Identifier: MIT
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net471;net45;netstandard2.1;netstandard2.0;netstandard1.6</TargetFrameworks>
- <VersionPrefix>3.0.1</VersionPrefix>
+ <VersionPrefix>3.0.2</VersionPrefix>
<VersionSuffix></VersionSuffix>
<PackageValidationBaselineVersion>3.0.0</PackageValidationBaselineVersion>
</PropertyGroup>
- <PropertyGroup Label="metadata">
+ <PropertyGroup Label="assembly attributes">
<CopyrightYear>2021</CopyrightYear>
+ </PropertyGroup>
- <!-- NuGet -->
- <!--<PackageTags></PackageTags>-->
+ <PropertyGroup Label="package properties">
+ <PackageTags>MIME;MIME-type</PackageTags>
</PropertyGroup>
<ItemGroup>
diff --git a/src/Smdn.Fundamental.MimeType/Smdn/MimeType.FindMimeTypeByExtension.cs b/src/Smdn.Fundamental.MimeType/Smdn/MimeType.FindMimeTypeByExtension.cs
index 197996e1..9a252dc8 100644
--- a/src/Smdn.Fundamental.MimeType/Smdn/MimeType.FindMimeTypeByExtension.cs
+++ b/src/Smdn.Fundamental.MimeType/Smdn/MimeType.FindMimeTypeByExtension.cs
@@ -76,6 +76,9 @@ partial class MimeType {
if (extension.Length == 0)
return null;
+ if (!File.Exists(mimeTypesFile))
+ throw new FileNotFoundException("Unable to read the mime.types file.", fileName: mimeTypesFile);
+
foreach (var entry in ReadMimeTypesFileLines(mimeTypesFile)) {
for (var index = 1; index < entry.Value.Length; index++) {
if (string.Equals(entry.Value[index], extension, StringComparison.OrdinalIgnoreCase))
@@ -132,6 +135,8 @@ partial class MimeType {
else {
if (mimeTypesFile == null)
throw new ArgumentNullException(nameof(mimeTypesFile));
+ if (!File.Exists(mimeTypesFile))
+ throw new FileNotFoundException("Unable to read the mime.types file.", fileName: mimeTypesFile);
return FindExtensionsByMimeTypeUnix(mimeType, mimeTypesFile);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment