はじめに
このプロジェクトでは、Goのhttp.RoundTripper
インターフェイスを使ってHTTPリクエストを透明に変更する方法を学びます。リクエストボディのMD5ハッシュを計算し、それを「X-Md5」フィールドとしてリクエストヘッダに追加するカスタムHTTPトランスポートを作成します。
👀 プレビュー
$ /usr/local/go/bin/go test
PASS
ok md5transport 0.004s
🎯 タスク
このプロジェクトで学ぶことは以下の通りです。
- HTTPリクエストとレスポンスに対してカスタム操作を行うために
http.RoundTripper
インターフェイスをどのようにカプセル化するか。 - リクエストボディのMD5ハッシュをどのように計算し、それをリクエストヘッダに追加するか。
- MD5ハッシュを計算した後でリクエストボディをどのようにリセットして元のリクエスト状態を維持するか。
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- GoにおけるHTTPリクエストの透明な変更の概念を理解する。
- リクエストとレスポンスに対して様々な操作を行うことができるカスタムHTTPトランスポート層を実装する。
- 認証、ロギング、またはリクエスト/レスポンス操作などの追加機能で自分自身のアプリケーションを強化するために知識を適用する。