ExceptionToStatusUtil.kt
package com.gyleedev.data
import com.gyleedev.githubsearch.domain.model.SearchStatus
import retrofit2.HttpException
import java.net.UnknownHostException
fun exceptionToStatusUtil(exception: Exception): SearchStatus = when (exception) {
is HttpException -> {
codeToStatusUtil(exception.code())
}
is UnknownHostException -> {
SearchStatus.BAD_NETWORK
}
else -> {
SearchStatus.UNKNOWN_FAIL
}
}
fun codeToStatusUtil(code: Int): SearchStatus = when (code) {
401 -> {
SearchStatus.NEED_AUTHENTICATION
}
403 -> {
SearchStatus.NEED_AUTHENTICATION
}
404 -> {
SearchStatus.NO_SUCH_USER
}
else -> {
SearchStatus.UNKNOWN_FAIL
}
}