Yuri’s Tech Note

技術系アウトプット

Gophercises vol.2 url redirect (YAML / middleware / http-headers)

つくったもの

Webリクエストのパスを見て、URL短縮名のようにユーザーを新しいページにリダイレクトするかどうかを判断するhttp.Handler

github.com

使用したパッケージ

"gopkg.in/yaml.v2"
yaml.v2 - gopkg.in/yaml.v2

YAML: 構造化されたデータを表現するのに便利な、ファイルの書き方ルールのひとつ

学び

net/http
  • Server: HTTPをどのネットワークソースで提供するかを定義
  • Handler: HTTPリクエストを実際にどう処理するかを抽象化したinterfaceで、ServeHTTP(w http.ResponseWriter req *http.Request)を提供し、HTTP リクエストを受けてレスポンスを返すことを責務とする。
ServeMux

TTP要求マルチプレクサ(複数の信号を受け取り、1つの信号にして返却する)
各受信要求のURLと登録されたパターンのリストを照合し、URLに最も近いパターンのハンドラーを呼び出す。

middleware

qiita.com


本来は便利なパッケージ使うのかもしれないがgoはデータの整形するだけでも一苦労...