インタラクティブなHTTPサーバー「HTTPLab」。
Go言語で作られたオープンソースソフトで、任意のHTTPリクエストに対するレスポンスを自由に作成することができる特徴を持ちます。
レスポンスのステータスコードのほか、遅延時間や、ヘッダー、ボディなどレスポンスの各データを変更することができるため、HTTPクライアントの作成やテストに便利なツールです。
以下使用法を説明します。
HTTPLab
HTTPLabはマルチプラットフォーム対応のGo言語で作られています。macOS、FreeBSD、Linux環境の場合GitHubのリリースページから実行ファイルをダウンロードして利用するのが簡単です。
Macの場合「httplab_darwin_amd64」をダウンロードし、以下のようにして実行します。
mv httplab_darwin_amd64 httplab ./httplab
デフォルトポートは10080となっています。
▲別のターミナルを開き、例えば「curl http://localhost:10080」を実行すると、「Hello, World」というレスポンスを取得することができます。
次にレスポンスを変更してみます。
▲HTTPLab側のターミナルでTabキーを使って「Body」に移動し、内容を「This is a pen」に変更した後Ctrl+aで変更を保存します。
再度「curl http://localhost:10080」を実行すると、レスポンスが「This is a pen」に変更されたことがわかります。
HTTPLabにはその他多くのキーボードショートカットが定義されているほか、コマンドラインオプションを利用して定義ファイルを指定したり、ポートを変更したりすることも可能です。公式サイトでご確認ください。
まとめ
HTTPLabを利用すれば、任意のHTTPレスポンスをインタラクティブに組み立てることができます。
サイトによると、クライアントの側ツールであるwuzzにインスパイアされて作成されたツールの模様です。サーバー側のテストに興味のある方はこちらもどうぞ(以前の記事)