mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
38 lines
581 B
Swift
38 lines
581 B
Swift
//
|
|
// File.swift
|
|
// RSWeb
|
|
//
|
|
// Created by Brent Simmons on 11/24/24.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
// 429 Too Many Requests
|
|
|
|
struct HTTPResponse429 {
|
|
|
|
let url: URL
|
|
let host: String // lowercased
|
|
let dateCreated: Date
|
|
let retryAfter: TimeInterval
|
|
|
|
var resumeDate: Date {
|
|
dateCreated + TimeInterval(retryAfter)
|
|
}
|
|
var canResume: Bool {
|
|
Date() >= resumeDate
|
|
}
|
|
|
|
init?(url: URL, retryAfter: TimeInterval) {
|
|
|
|
guard let host = url.host() else {
|
|
return nil
|
|
}
|
|
|
|
self.url = url
|
|
self.host = host.lowercased()
|
|
self.retryAfter = retryAfter
|
|
self.dateCreated = Date()
|
|
}
|
|
}
|