Skip to content

[REFACTOR] GitHub OAuth 네트워크 에러 처리 개선 #206

@kssumin

Description

@kssumin

현재 상황

#201 (comment)
현재 GithubApiErrorDecoder는 GitHub API의 응답 에러만 처리하고 있습니다:

  • OAuth 인증 에러 (error, error_description, error_uri)
  • GitHub API 에러 (message, documentation_url)
  • 예상치 못한 응답 형식

문제점

Feign Client 사용 시 발생할 수 있는 네트워크 레벨의 에러가 처리되지 않고 있습니다:

  • Connection refused
  • Connection timeout
  • DNS resolution failure 등

이러한 에러들은 현재 Feign의 RetryableException으로 변환되어 처리되지 않고 있습니다.

개선 방안

GithubApiErrorDecoder에 네트워크 에러 처리 로직 추가:

catch (RetryableException e) {
    // 네트워크 레벨 에러 처리
    return new GithubNetworkException("GitHub 서비스와 연결할 수 없습니다", e);
}

TODO

  • GithubNetworkException 클래스 추가
  • GithubApiErrorDecoder 수정
  • 관련 테스트 코드 추가

기대효과

  • 네트워크 연결 실패 시 명확한 에러 메시지 제공

참고사항

RetryableException은 이름과 달리 대부분 재시도해도 해결되지 않는 근본적인 네트워크 문제를 나타냄

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions