Vernissage/PixelfedKit/Sources/PixelfedKit/Errors/NetworkError.swift

32 lines
1.2 KiB
Swift
Raw Normal View History

2023-01-08 17:56:07 +01:00
//
// https://mczachurski.dev
// Copyright © 2023 Marcin Czachurski and the repository contributors.
2023-03-28 10:35:38 +02:00
// Licensed under the Apache License 2.0.
2023-01-08 17:56:07 +01:00
//
2023-01-08 17:56:07 +01:00
import Foundation
public enum NetworkError: Error {
2023-01-08 17:56:07 +01:00
case notSuccessResponse(URLResponse)
2023-01-24 20:38:21 +01:00
case unknownError
2023-01-08 17:56:07 +01:00
}
extension NetworkError: LocalizedError {
public var errorDescription: String? {
switch self {
case .notSuccessResponse(let response):
2023-01-15 12:41:55 +01:00
let statusCode = response.statusCode()
2023-10-18 17:52:49 +02:00
2023-03-15 14:27:59 +01:00
let localizedString = NSLocalizedString("global.error.notSuccessResponse",
bundle: Bundle.module,
comment: "It's error returned from remote server. Request URL: '\(response.url?.string ?? "unknown")'.")
return String(format: localizedString, statusCode?.localizedDescription ?? "unknown")
2023-01-24 20:38:21 +01:00
case .unknownError:
2023-03-15 14:27:59 +01:00
return NSLocalizedString("global.error.unknownError",
bundle: Bundle.module,
comment: "Response doesn't contains any information about request status.")
2023-01-08 17:56:07 +01:00
}
}
}