Web API を利用するプログラムにおいて、そのデバッグが問題になることがあります。
アプリケーションは Web API に対して正しくリクエストを送れているか、そして想定通りのレスポンスを受け取れているか、をリアルタイムに確認できると便利だろう、ということで、Go で簡単なツールを作ってみました。
Web API へのリクエストの前段でプロキシのように振る舞い、HTTP リクエスト/レスポンスをターミナル上にそのまま出力してくれるので、人間がそれを目視で確認できます。
インストール
go get
でインストールできます。
$ go get github.com/yuya-takeyama/hi
もしくは GitHub Releases に Linux 用のバイナリも置いてますので、そちらもご利用ください。
使い方
サーバを起動する
適当なポートを指定して起動します.
$ hi -port 8080
アプリケーション中の Web API の URL を置き換える
実際の記述は様々だと思いますが、例えば Web API への URL が以下のように設定されている場合、
config.web_api_endpoint = "http://api.example.com"
以下のように書き換えることで、hi
を前段に潜り込ませることができます。
(hi
はローカルホストの 8080 ポートで動いている前提です)
# config.web_api_endpoint = "http://api.example.com"
config.web_api_endpoint = "http://localhost:8080/proxy/api.example.com"
リクエスト/レスポンスを確認する
あとは Web API へのリクエストを発生させるようにアプリケーションを動作させれば、その内容がターミナル上に現れます。
(先に載せたスクリーンショットの通り)