From 0170d4967113cb7a62f46395b67fa75e14b46711 Mon Sep 17 00:00:00 2001 From: Mikhail Basbas Date: Fri, 24 Jan 2020 23:56:32 +0800 Subject: [PATCH] Added return value URLSessionDataTask for OpenGraph.fetch to have the ability to cancel task if needed --- OpenGraph/OpenGraph.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenGraph/OpenGraph.swift b/OpenGraph/OpenGraph.swift index 61196d5..f50fbe7 100644 --- a/OpenGraph/OpenGraph.swift +++ b/OpenGraph/OpenGraph.swift @@ -4,7 +4,8 @@ public struct OpenGraph { public let source: [OpenGraphMetadata: String] - public static func fetch(url: URL, headers: [String: String]? = nil, completion: @escaping (Result) -> Void) { + @discardableResult + public static func fetch(url: URL, headers: [String: String]? = nil, completion: @escaping (Result) -> Void) -> URLSessionDataTask { var mutableURLRequest = URLRequest(url: url) headers?.compactMapValues { $0 }.forEach { mutableURLRequest.setValue($1, forHTTPHeaderField: $0) @@ -19,6 +20,7 @@ public struct OpenGraph { } }) task.resume() + return task } private static func handleFetchResult(data: Data?, response: URLResponse?, completion: @escaping (Result) -> Void) {