Convert UserAgent functions to variables and make them non-optional.

This commit is contained in:
Brent Simmons 2024-05-07 19:50:53 -07:00
parent ae2c21f5f0
commit 69c908c891
9 changed files with 17 additions and 41 deletions

View File

@ -63,11 +63,8 @@ public enum FeedbinAccountDelegateError: String, Error {
sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpMaximumConnectionsPerHost = 1
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
caller = FeedbinAPICaller(transport: URLSession(configuration: sessionConfiguration)) caller = FeedbinAPICaller(transport: URLSession(configuration: sessionConfiguration))
} }

View File

@ -93,10 +93,7 @@ final class FeedlyAccountDelegate: AccountDelegate {
sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpMaximumConnectionsPerHost = 1
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
let session = URLSession(configuration: sessionConfiguration) let session = URLSession(configuration: sessionConfiguration)
self.caller = FeedlyAPICaller(transport: session, api: api, secretsProvider: secretsProvider) self.caller = FeedlyAPICaller(transport: session, api: api, secretsProvider: secretsProvider)

View File

@ -47,10 +47,7 @@ final class NewsBlurAccountDelegate: AccountDelegate {
sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpMaximumConnectionsPerHost = 1
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
let session = URLSession(configuration: sessionConfiguration) let session = URLSession(configuration: sessionConfiguration)
caller = NewsBlurAPICaller(transport: session) caller = NewsBlurAPICaller(transport: session)

View File

@ -71,11 +71,8 @@ final class ReaderAPIAccountDelegate: AccountDelegate {
sessionConfiguration.httpMaximumConnectionsPerHost = 1 sessionConfiguration.httpMaximumConnectionsPerHost = 1
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
self.caller = ReaderAPICaller(transport: URLSession(configuration: sessionConfiguration), secretsProvider: secretsProvider) self.caller = ReaderAPICaller(transport: URLSession(configuration: sessionConfiguration), secretsProvider: secretsProvider)
} }

View File

@ -126,7 +126,7 @@ final class DetailWebViewController: NSViewController {
webView.navigationDelegate = self webView.navigationDelegate = self
webView.keyboardDelegate = keyboardDelegate webView.keyboardDelegate = keyboardDelegate
webView.translatesAutoresizingMaskIntoConstraints = false webView.translatesAutoresizingMaskIntoConstraints = false
if let userAgent = UserAgent.fromInfoPlist() { if let userAgent = UserAgent.fromInfoPlist {
webView.customUserAgent = userAgent webView.customUserAgent = userAgent
} }

View File

@ -48,10 +48,7 @@ public protocol DownloadSessionDelegate {
sessionConfiguration.httpMaximumConnectionsPerHost = 2 sessionConfiguration.httpMaximumConnectionsPerHost = 2
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
urlSession = URLSession(configuration: sessionConfiguration, delegate: self, delegateQueue: OperationQueue.main) urlSession = URLSession(configuration: sessionConfiguration, delegate: self, delegateQueue: OperationQueue.main)
} }

View File

@ -27,10 +27,7 @@ public typealias OneShotDownloadCallback = @Sendable (Data?, URLResponse?, Error
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.timeoutIntervalForRequest = 30 sessionConfiguration.timeoutIntervalForRequest = 30
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
urlSession = URLSession(configuration: sessionConfiguration) urlSession = URLSession(configuration: sessionConfiguration)
} }

View File

@ -10,17 +10,14 @@ import Foundation
public struct UserAgent { 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]? { public static let headers: [String: String] = {
guard let userAgent = fromInfoPlist() else {
return nil
}
let userAgent = fromInfoPlist
return [HTTPRequestHeader.userAgent: userAgent] return [HTTPRequestHeader.userAgent: userAgent]
} }()
} }

View File

@ -281,11 +281,8 @@ extension URLSession: Transport {
sessionConfiguration.httpMaximumConnectionsPerHost = 2 sessionConfiguration.httpMaximumConnectionsPerHost = 2
sessionConfiguration.httpCookieStorage = nil sessionConfiguration.httpCookieStorage = nil
sessionConfiguration.urlCache = nil sessionConfiguration.urlCache = nil
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
return URLSession(configuration: sessionConfiguration) return URLSession(configuration: sessionConfiguration)
} }
} }