28 lines
935 B
Swift
28 lines
935 B
Swift
import Foundation
|
|
|
|
public enum PerplexityAPIError: LocalizedError, Sendable, Equatable {
|
|
case missingToken
|
|
case invalidCookie
|
|
case invalidToken
|
|
case networkError(String)
|
|
case apiError(String)
|
|
case parseFailed(String)
|
|
|
|
public var errorDescription: String? {
|
|
switch self {
|
|
case .missingToken:
|
|
"Perplexity session token is missing. Please log into Perplexity in your browser."
|
|
case .invalidCookie:
|
|
"Perplexity manual cookie header is empty or invalid."
|
|
case .invalidToken:
|
|
"Perplexity session token is invalid or expired. Please log in again."
|
|
case let .networkError(message):
|
|
"Perplexity network error: \(message)"
|
|
case let .apiError(message):
|
|
"Perplexity API error: \(message)"
|
|
case let .parseFailed(message):
|
|
"Failed to parse Perplexity usage data: \(message)"
|
|
}
|
|
}
|
|
}
|