| Index: FavIcon/Utils.swift |
| diff --git a/FavIcon/Utils.swift b/FavIcon/Utils.swift |
| index 5f738d3db092c50f32e51ad0057bb18ce426f179..7e543847cdad70b860d9c46294937cad99e957de 100644 |
| --- a/FavIcon/Utils.swift |
| +++ b/FavIcon/Utils.swift |
| @@ -21,14 +21,14 @@ extension String { |
| func parseAsHTTPContentTypeHeader() -> (mimeType: String, encoding: String.Encoding) { |
| let headerComponents = |
| components(separatedBy: ";") |
| - .map { $0.trimmingCharacters(in: .whitespaces) } |
| + .map { $0.trimmingCharacters(in: .whitespaces) } |
| if headerComponents.count > 1 { |
| let parameters = |
| headerComponents[1..<headerComponents.count] |
| - .filter { $0.contains("=") } |
| - .map { $0.components(separatedBy: "=") } |
| - .toDictionary { ($0[0], $0[1]) } |
| + .filter { $0.contains("=") } |
| + .map { $0.components(separatedBy: "=") } |
| + .toDictionary { ($0[0], $0[1]) } |
| // Default according to RFC is ISO-8859-1, but probably nothing obeys that, so default |
| // to UTF-8 instead. |
| @@ -48,22 +48,38 @@ extension String { |
| //swiftlint:disable cyclomatic_complexity |
| func parseAsStringEncoding() -> String.Encoding? { |
| switch lowercased() { |
| - case "iso-8859-1", "latin1": return String.Encoding.isoLatin1 |
| - case "iso-8859-2", "latin2": return String.Encoding.isoLatin2 |
| - case "iso-2022-jp": return String.Encoding.iso2022JP |
| - case "shift_jis": return String.Encoding.shiftJIS |
| - case "us-ascii": return String.Encoding.ascii |
| - case "utf-8": return String.Encoding.utf8 |
| - case "utf-16": return String.Encoding.utf16 |
| - case "utf-32": return String.Encoding.utf32 |
| - case "utf-32be": return String.Encoding.utf32BigEndian |
| - case "utf-32le": return String.Encoding.utf32LittleEndian |
| - case "windows-1250": return String.Encoding.windowsCP1250 |
| - case "windows-1251": return String.Encoding.windowsCP1251 |
| - case "windows-1252": return String.Encoding.windowsCP1252 |
| - case "windows-1253": return String.Encoding.windowsCP1253 |
| - case "windows-1254": return String.Encoding.windowsCP1254 |
| - case "x-mac-roman": return String.Encoding.macOSRoman |
| + case "iso-8859-1", "latin1": |
| + return String.Encoding.isoLatin1 |
| + case "iso-8859-2", "latin2": |
| + return String.Encoding.isoLatin2 |
| + case "iso-2022-jp": |
| + return String.Encoding.iso2022JP |
| + case "shift_jis": |
| + return String.Encoding.shiftJIS |
| + case "us-ascii": |
| + return String.Encoding.ascii |
| + case "utf-8": |
| + return String.Encoding.utf8 |
| + case "utf-16": |
| + return String.Encoding.utf16 |
| + case "utf-32": |
| + return String.Encoding.utf32 |
| + case "utf-32be": |
| + return String.Encoding.utf32BigEndian |
| + case "utf-32le": |
| + return String.Encoding.utf32LittleEndian |
| + case "windows-1250": |
| + return String.Encoding.windowsCP1250 |
| + case "windows-1251": |
| + return String.Encoding.windowsCP1251 |
| + case "windows-1252": |
| + return String.Encoding.windowsCP1252 |
| + case "windows-1253": |
| + return String.Encoding.windowsCP1253 |
| + case "windows-1254": |
| + return String.Encoding.windowsCP1254 |
| + case "x-mac-roman": |
| + return String.Encoding.macOSRoman |
| default: |
| return nil |
| } |