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
+ }
+ }
}