From 69c908c891a9ad23be2fb841046c23a87960c3f7 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Tue, 7 May 2024 19:50:53 -0700 Subject: [PATCH] Convert UserAgent functions to variables and make them non-optional. --- .../Account/Feedbin/FeedbinAccountDelegate.swift | 7 ++----- .../Account/Feedly/FeedlyAccountDelegate.swift | 5 +---- .../NewsBlur/NewsBlurAccountDelegate.swift | 5 +---- .../ReaderAPI/ReaderAPIAccountDelegate.swift | 7 ++----- .../Detail/DetailWebViewController.swift | 2 +- Web/Sources/Web/DownloadSession.swift | 5 +---- Web/Sources/Web/OneShotDownload.swift | 5 +---- Web/Sources/Web/UserAgent.swift | 15 ++++++--------- Web/Sources/Web/WebServices/Transport.swift | 7 ++----- 9 files changed, 17 insertions(+), 41 deletions(-) diff --git a/Account/Sources/Account/Feedbin/FeedbinAccountDelegate.swift b/Account/Sources/Account/Feedbin/FeedbinAccountDelegate.swift index 1a9c7c307..7889048aa 100644 --- a/Account/Sources/Account/Feedbin/FeedbinAccountDelegate.swift +++ b/Account/Sources/Account/Feedbin/FeedbinAccountDelegate.swift @@ -63,11 +63,8 @@ public enum FeedbinAccountDelegateError: String, Error { sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } - + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers + caller = FeedbinAPICaller(transport: URLSession(configuration: sessionConfiguration)) } diff --git a/Account/Sources/Account/Feedly/FeedlyAccountDelegate.swift b/Account/Sources/Account/Feedly/FeedlyAccountDelegate.swift index de0647995..975373df7 100644 --- a/Account/Sources/Account/Feedly/FeedlyAccountDelegate.swift +++ b/Account/Sources/Account/Feedly/FeedlyAccountDelegate.swift @@ -93,10 +93,7 @@ final class FeedlyAccountDelegate: AccountDelegate { sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers let session = URLSession(configuration: sessionConfiguration) self.caller = FeedlyAPICaller(transport: session, api: api, secretsProvider: secretsProvider) diff --git a/Account/Sources/Account/NewsBlur/NewsBlurAccountDelegate.swift b/Account/Sources/Account/NewsBlur/NewsBlurAccountDelegate.swift index 0db0210fb..265f44f58 100644 --- a/Account/Sources/Account/NewsBlur/NewsBlurAccountDelegate.swift +++ b/Account/Sources/Account/NewsBlur/NewsBlurAccountDelegate.swift @@ -47,10 +47,7 @@ final class NewsBlurAccountDelegate: AccountDelegate { sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers let session = URLSession(configuration: sessionConfiguration) caller = NewsBlurAPICaller(transport: session) diff --git a/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift b/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift index c00035444..d3c8965e9 100644 --- a/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift +++ b/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift @@ -71,11 +71,8 @@ final class ReaderAPIAccountDelegate: AccountDelegate { sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } - + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers + self.caller = ReaderAPICaller(transport: URLSession(configuration: sessionConfiguration), secretsProvider: secretsProvider) } diff --git a/Mac/MainWindow/Detail/DetailWebViewController.swift b/Mac/MainWindow/Detail/DetailWebViewController.swift index 6ea10a40c..822cf027c 100644 --- a/Mac/MainWindow/Detail/DetailWebViewController.swift +++ b/Mac/MainWindow/Detail/DetailWebViewController.swift @@ -126,7 +126,7 @@ final class DetailWebViewController: NSViewController { webView.navigationDelegate = self webView.keyboardDelegate = keyboardDelegate webView.translatesAutoresizingMaskIntoConstraints = false - if let userAgent = UserAgent.fromInfoPlist() { + if let userAgent = UserAgent.fromInfoPlist { webView.customUserAgent = userAgent } diff --git a/Web/Sources/Web/DownloadSession.swift b/Web/Sources/Web/DownloadSession.swift index 2e0f01178..f8e2ec051 100755 --- a/Web/Sources/Web/DownloadSession.swift +++ b/Web/Sources/Web/DownloadSession.swift @@ -48,10 +48,7 @@ public protocol DownloadSessionDelegate { sessionConfiguration.httpMaximumConnectionsPerHost = 2 sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers urlSession = URLSession(configuration: sessionConfiguration, delegate: self, delegateQueue: OperationQueue.main) } diff --git a/Web/Sources/Web/OneShotDownload.swift b/Web/Sources/Web/OneShotDownload.swift index 6afb1625c..084bf4d54 100755 --- a/Web/Sources/Web/OneShotDownload.swift +++ b/Web/Sources/Web/OneShotDownload.swift @@ -27,10 +27,7 @@ public typealias OneShotDownloadCallback = @Sendable (Data?, URLResponse?, Error sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil sessionConfiguration.timeoutIntervalForRequest = 30 - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers urlSession = URLSession(configuration: sessionConfiguration) } diff --git a/Web/Sources/Web/UserAgent.swift b/Web/Sources/Web/UserAgent.swift index 0a851c51d..723c1349d 100755 --- a/Web/Sources/Web/UserAgent.swift +++ b/Web/Sources/Web/UserAgent.swift @@ -10,17 +10,14 @@ import Foundation public struct UserAgent { - public static func fromInfoPlist() -> String? { + public static let fromInfoPlist: String = { - return Bundle.main.object(forInfoDictionaryKey: "UserAgent") as? String - } + Bundle.main.object(forInfoDictionaryKey: "UserAgent") as! String + }() - public static func headers() -> [AnyHashable: String]? { - - guard let userAgent = fromInfoPlist() else { - return nil - } + public static let headers: [String: String] = { + let userAgent = fromInfoPlist return [HTTPRequestHeader.userAgent: userAgent] - } + }() } diff --git a/Web/Sources/Web/WebServices/Transport.swift b/Web/Sources/Web/WebServices/Transport.swift index fa131d518..30325e434 100644 --- a/Web/Sources/Web/WebServices/Transport.swift +++ b/Web/Sources/Web/WebServices/Transport.swift @@ -281,11 +281,8 @@ extension URLSession: Transport { sessionConfiguration.httpMaximumConnectionsPerHost = 2 sessionConfiguration.httpCookieStorage = nil sessionConfiguration.urlCache = nil - - if let userAgentHeaders = UserAgent.headers() { - sessionConfiguration.httpAdditionalHeaders = userAgentHeaders - } - + sessionConfiguration.httpAdditionalHeaders = UserAgent.headers + return URLSession(configuration: sessionConfiguration) } }