You can access URLError by error.asAFError?.underlyingError
enum ErrorType: Equatable {
case networkError
case serverError(_ error: ServerError)
case unknownError(_ error: Error)
init(error: Error) {
if let errorResponse = error as? ErrorResponse {
switch errorResponse {
case .error(let statusCode, let data, let error):
if let urlError = error.asAFError?.underlyingError as? URLError,
urlError.code == URLError.Code.notConnectedToInternet
{
self = .networkError
} else {
self = .serverError(ServerError(statusCode: statusCode, data: data))
}
}
} else {
self = .unknownError(error)
}
}