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.httpCookieStorage = nil
sessionConfiguration.urlCache = nil
if let userAgentHeaders = UserAgent.headers() {
sessionConfiguration.httpAdditionalHeaders = userAgentHeaders
}
sessionConfiguration.httpAdditionalHeaders = UserAgent.headers
caller = FeedbinAPICaller(transport: URLSession(configuration: sessionConfiguration))
}

View File

@ -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)

View File

@ -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)

View File

@ -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)
}

View File

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

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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]
}
}()
}

View File

@ -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)
}
}