diff --git a/NetNewsWire/HTMLMetadata/HTMLMetadataDownloader.swift b/NetNewsWire/HTMLMetadata/HTMLMetadataDownloader.swift index 5727bfa47..1e7b325d1 100644 --- a/NetNewsWire/HTMLMetadata/HTMLMetadataDownloader.swift +++ b/NetNewsWire/HTMLMetadata/HTMLMetadataDownloader.swift @@ -12,20 +12,16 @@ import RSParser struct HTMLMetadataDownloader { - static var metadataCache = [String: RSHTMLMetadata]() static let serialDispatchQueue = DispatchQueue(label: "HTMLMetadataDownloader") static func downloadMetadata(for url: String, _ callback: @escaping (RSHTMLMetadata?) -> Void) { - guard let actualURL = URL(string: url) else { callback(nil) return } downloadUsingCache(actualURL) { (data, response, error) in - if let data = data, !data.isEmpty, let response = response, response.statusIsOK, error == nil { - let urlToUse = response.url ?? actualURL let parserData = ParserData(url: urlToUse.absoluteString, data: data) parseMetadata(with: parserData, callback) @@ -41,22 +37,8 @@ struct HTMLMetadataDownloader { } private static func parseMetadata(with parserData: ParserData, _ callback: @escaping (RSHTMLMetadata?) -> Void) { - serialDispatchQueue.async { - - let md5String = (parserData.data as NSData).rs_md5HashString() - if let md5String = md5String, let cachedMetadata = metadataCache[md5String] { - DispatchQueue.main.async { - callback(cachedMetadata) - } - return - } - let htmlMetadata = RSHTMLMetadataParser.htmlMetadata(with: parserData) - if let md5String = md5String { - metadataCache[md5String] = htmlMetadata - } - DispatchQueue.main.async { callback(htmlMetadata) }