GoのWAF「echo」のMiddleware「echorequid」を作った

概要

  • EchoフレームワークでX-Request-IDヘッダを付与するMiddlewareを作ろうと思った
  • 作って公開した

echorequid

構成

Echoで動作する想定なので本体にはechoのものしか使っていない
テスト: goconvey + gomock

処理の内容

defaultの動きとしては以下

  • すでにX-Request-IDがリクエストに付与されていれば何もしない
  • リクエストヘッダのX-Real-IP、X-Forwarded-For、hostportをの順に確認しIPを取得
  • 取得したIPをヘッダに追加

苦労した点

  • 開発自体は、全く苦労しなかった
  • travis-ciでテストを実行するのに躓いたのと、それをcoverall経由でバッジ表示するまでに無駄な時間を大変に割いた。つらい。

travisでテストするときの知見

リポジトリ中の他パッケージを参照する場合、下手にディレクトリ名/パッケージ名でimportしていたりすると、ローカルのテストは通るのにTravisで回すときにImportPathが見つからないとか言われるので、./パッケージ名に修正した。正しいやり方がありそうだがよくわかってないし、そこまでの労力をつぎ込みたくはなかった。

ひとまずパッケージを公開するところまで来たのでよしとする

このブログの人気の投稿

2016年にgoを使ったのでまとめ

採用とは何か

vue-bulmaと太陽と埃の中で