mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Make CacheControlInfo and HTTPResponse429 use same names for things.
This commit is contained in:
@@ -180,7 +180,7 @@ private extension LocalAccountRefresher {
|
||||
|
||||
func feedShouldBeSkipped(_ feed: WebFeed) -> Bool {
|
||||
|
||||
if let cacheControlInfo = feed.cacheControlInfo, !cacheControlInfo.isExpired {
|
||||
if let cacheControlInfo = feed.cacheControlInfo, !cacheControlInfo.canResume {
|
||||
os_log(.debug, "Dropping request for Cache-Control reasons: \(feed.url)")
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -15,13 +15,13 @@ public struct CacheControlInfo: Codable, Equatable {
|
||||
let dateCreated: Date
|
||||
let maxAge: TimeInterval
|
||||
|
||||
public var isExpired: Bool {
|
||||
Date() > dateExpired
|
||||
}
|
||||
var dateExpired: Date {
|
||||
var resumeDate: Date {
|
||||
dateCreated + maxAge
|
||||
}
|
||||
|
||||
public var canResume: Bool {
|
||||
Date() >= resumeDate
|
||||
}
|
||||
|
||||
public init?(urlResponse: HTTPURLResponse) {
|
||||
guard let cacheControlValue = urlResponse.valueForHTTPHeaderField(HTTPResponseHeader.cacheControl) else {
|
||||
return nil
|
||||
|
||||
@@ -322,11 +322,11 @@ private extension DownloadSession {
|
||||
guard let retryAfterValue = httpResponse.value(forHTTPHeaderField: HTTPResponseHeader.retryAfter) else {
|
||||
return nil
|
||||
}
|
||||
guard let retryAfterSeconds = Int(retryAfterValue), retryAfterSeconds > 0 else {
|
||||
guard let retryAfter = TimeInterval(retryAfterValue), retryAfter > 0 else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return HTTPResponse429(url: url, retryAfterSeconds: retryAfterSeconds)
|
||||
return HTTPResponse429(url: url, retryAfter: retryAfter)
|
||||
}
|
||||
|
||||
func cancelAndRemoveTasksWithHost(_ host: String) {
|
||||
|
||||
@@ -13,11 +13,17 @@ final class HTTPResponse429 {
|
||||
|
||||
let url: URL
|
||||
let host: String // lowercased
|
||||
let retryAfterSeconds: Int
|
||||
let dateMessageReceived: Date
|
||||
let resumeDate: Date // dateMessageReceived + retryAfterSeconds
|
||||
let dateCreated: Date
|
||||
let retryAfter: TimeInterval
|
||||
|
||||
init?(url: URL, retryAfterSeconds: Int) {
|
||||
var resumeDate: Date {
|
||||
dateCreated + TimeInterval(retryAfter)
|
||||
}
|
||||
var canResume: Bool {
|
||||
Date() >= resumeDate
|
||||
}
|
||||
|
||||
init?(url: URL, retryAfter: TimeInterval) {
|
||||
|
||||
guard let host = url.host() else {
|
||||
return nil
|
||||
@@ -25,10 +31,7 @@ final class HTTPResponse429 {
|
||||
|
||||
self.url = url
|
||||
self.host = host.lowercased()
|
||||
self.retryAfterSeconds = retryAfterSeconds
|
||||
|
||||
let currentDate = Date()
|
||||
self.dateMessageReceived = currentDate
|
||||
self.resumeDate = currentDate + TimeInterval(retryAfterSeconds)
|
||||
self.retryAfter = retryAfter
|
||||
self.dateCreated = Date()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user