개발자들이 외부 서비스의 웹훅(webhook) 기능을 로컬 개발 환경에서 손쉽게 테스트할 수 있도록 돕는 새로운 오픈소스 도구인 '윔-프록시(Whim-proxy)'가 공개되었습니다. 이 도구는 웹훅 발신자가 개발자의 방화벽이나 NAT 뒤에 있는 로컬 머신에 직접 접근하기 어려운 문제를 해결하며, 깃허브(GitHub)나 스트라이프(Stripe)와 같은 서드파티 서비스의 웹훅을 개발할 때 특히 유용합니다.
윔-프록시는 '윔-서버(whim-server)'와 '윔-클라이언트(whim-client)'의 조합으로 작동합니다. 먼저, 공개적으로 접근 가능한 윔-서버가 웹훅 발신자로부터 이벤트를 수신합니다. 이후 이 이벤트는 웹소켓(WebSocket) 역터널링을 통해 개발자 노트북에서 실행 중인 윔-클라이언트로 전달됩니다. 마지막으로 윔-클라이언트는 수신된 이벤트를 개발 중인 로컬 웹훅 소비자 서비스로 재전송하여, 마치 웹훅이 로컬로 직접 전송된 것처럼 테스트할 수 있게 합니다. 사용자는 직접 서버를 배포할 수도 있고, 제공되는 공개 인스턴스(https://whim-proxy.kakwalab.dev/)를 이용할 수도 있습니다.
이러한 방식은 웹훅 개발 및 테스트 과정을 크게 간소화합니다. 기존에는 웹훅 테스트를 위해 복잡한 터널링 설정을 하거나, 매번 코드를 배포해야 하는 번거로움이 있었습니다. 윔-프록시는 이러한 과정을 자동화하고, 여러 개발자가 동일한 웹훅 채널을 구독하여 동시에 테스트할 수 있는 발행-구독(pub-sub) 모델을 지원합니다. 또한, 이벤트 로그를 인메모리(in-memory) 또는 레디스(Redis)에 저장하여 지속성을 확보하고, 디버깅을 용이하게 하는 등 개발 편의성을 높였습니다. 이 도구는 개발자들이 웹훅 기반 애플리케이션을 더욱 빠르고 효율적으로 구축할 수 있도록 기여할 것으로 기대됩니다.