Ktor
Ktor Intercepting requests using HttpSend
hik14
2022. 7. 19. 19:15
HttpSend 플러그인을 사용하면 응답에 따라 HTTP 호출을 모니터링하고 재시도할 수 있습니다.
예를 들어, 서버가 오류 응답(4xx 또는 5xx 상태 코드 포함)을 반환하는 경우 호출 로깅을 구현하거나 요청을 재시도할 수 있습니다.
HttpSend 플러그인은 설치가 필요하지 않습니다.
사용하려면 HttpSend를 HttpClient.plugin 함수에 전달하고 intercept 메서드를 호출합니다. 아래 예는 응답 상태 코드에 따라 요청을 재시도하는 방법을 보여줍니다.
val client = HttpClient(Apache)
client.plugin(HttpSend).intercept { request ->
val originalCall = execute(request)
if (originalCall.response.status.value !in 100..399) {
execute(request)
} else {
originalCall
}
}