diff --git a/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift b/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift index 6c9fd5189..3dcb3ff34 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift +++ b/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift @@ -389,7 +389,7 @@ public class OWSLinkPreview: MTLModel { Logger.verbose("url: \(url)") - guard let sessionManager: AFHTTPSessionManager = ReverseProxy.sessionManager(baseUrl: nil) else { + guard let sessionManager: AFHTTPSessionManager = ContentProxy.sessionManager(baseUrl: nil) else { owsFailDebug("Couldn't create session manager.") completion(nil) return @@ -456,10 +456,10 @@ public class OWSLinkPreview: MTLModel { } Logger.verbose("linkText: \(linkText)") - let title = parseFirstMatch(pattern: "", text: linkText) + let title = NSRegularExpression.parseFirstMatch(pattern: "", text: linkText) Logger.verbose("title: \(String(describing: title))") - guard let imageUrlString = parseFirstMatch(pattern: "", text: linkText) else { + guard let imageUrlString = NSRegularExpression.parseFirstMatch(pattern: "", text: linkText) else { return completion(OWSLinkPreviewInfo(urlString: linkUrlString, title: title)) } Logger.verbose("imageUrlString: \(imageUrlString)") @@ -510,26 +510,4 @@ public class OWSLinkPreview: MTLModel { completion(linkPreviewInfo) }) } - - private class func parseFirstMatch(pattern: String, - text: String) -> String? { - do { - let regex = try NSRegularExpression(pattern: pattern) - guard let match = regex.firstMatch(in: text, - options: [], - range: NSRange(location: 0, length: text.count)) else { - return nil - } - let matchRange = match.range(at: 1) - guard let textRange = Range(matchRange, in: text) else { - owsFailDebug("Invalid match.") - return nil - } - let substring = String(text[textRange]) - return substring - } catch { - Logger.error("Error: \(error)") - return nil - } - } } diff --git a/SignalServiceKit/src/Util/NSRegularExpression+SSK.swift b/SignalServiceKit/src/Util/NSRegularExpression+SSK.swift index 33d20d49d..b8e2fda49 100644 --- a/SignalServiceKit/src/Util/NSRegularExpression+SSK.swift +++ b/SignalServiceKit/src/Util/NSRegularExpression+SSK.swift @@ -11,4 +11,27 @@ public extension NSRegularExpression { public func hasMatch(input: String) -> Bool { return self.firstMatch(in: input, options: [], range: NSRange(location: 0, length: input.utf16.count)) != nil } + + @objc + public class func parseFirstMatch(pattern: String, + text: String) -> String? { + do { + let regex = try NSRegularExpression(pattern: pattern) + guard let match = regex.firstMatch(in: text, + options: [], + range: NSRange(location: 0, length: text.count)) else { + return nil + } + let matchRange = match.range(at: 1) + guard let textRange = Range(matchRange, in: text) else { + owsFailDebug("Invalid match.") + return nil + } + let substring = String(text[textRange]) + return substring + } catch { + Logger.error("Error: \(error)") + return nil + } + } }