29 lines
929 B
Swift
29 lines
929 B
Swift
import Foundation
|
|
|
|
/// Describes any errors that can happen with the PageFetcher.
|
|
public enum PageFetcherError: Error, LocalizedError {
|
|
case sessionCreationFailed
|
|
case invalidSessionResponse
|
|
case noActiveSession
|
|
case seleniumError(Int, String)
|
|
case requestFailed
|
|
case invalidPageSourceResponse
|
|
|
|
public var errorDescription: String? {
|
|
switch self {
|
|
case .sessionCreationFailed:
|
|
"Failed to create WebDriver session"
|
|
case .invalidSessionResponse:
|
|
"Invalid response when creating WebDriver session"
|
|
case .noActiveSession:
|
|
"No active WebDriver session"
|
|
case let .seleniumError(code, message):
|
|
"Selenium error (HTTP \(code)): \(message)"
|
|
case .requestFailed:
|
|
"Failed to make request"
|
|
case .invalidPageSourceResponse:
|
|
"Invalid response when getting page source"
|
|
}
|
|
}
|
|
}
|