를 보여주고 있다. 또한 커스텀 단계를 위한 인터셉터도 사용할 수 있다. 각 인터셉터는 실제
실행할
RPC
로직의
사전
동작과
후속
동작을 정의한다. 각 단계는 에러 조건을 보고해서 이후
의 인터셉터가 실행되지 않도록 할 수 있다. 하지만 이런 일이 벌어지면 이미 호출된 인터셉터
의
후속
단계가 역순으로 실행된다. 인터셉터 사이의 프레임워크는 에러율 보고나 지표 실행 같
은 추가적인 동작을 투명하게 실행한다. 이 아키텍처는 각 단계에서 실행하는 로직을 깔끔하게
분리하므로 간결성과 신뢰성을 향상시킨다.
이 예제에서 로깅 인터셉터의
사전
단계는 호출을 로그에 기록하고
사후
단계는 작업의 상태를
로그에 기록할 수 있다. 이제 요청이 권한을 갖지 않으면
RPC
로직은 실행되지 않지만 ‘권한
없음’ 에러가 제대로 로그에 기록된다. 그 후 시스템은 인증과 로깅 인터셉터의
사후
단계를(설
령 빈 작업을 수행하더라도) 호출하고 그 이후에 클라이언트에 에러를 보낸다.
인터셉터는 서로
콘텍스트 객체
context
object
를 주고받아 상태를 공유한다. 예를 들어 인증 인터셉
터의
사전
단계는 인증서 처리와 관련된 모든 암호화 작업을 처리한다(
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.