はじめに この記事では HTTP のミドルウェアと gRPC のインターセプターでレスポンスサイズを取得する方法を紹介します。単にレスポンスサイズを取得するというよりは自前で計測する的な解決方法でしたのでこのような記事タイトルとなっています。 レスポンスサイズが必要になる場面はそんなに無いかもしれませんが、本記事で紹介する http.ResponseWriter や grpc.ServerStream のラッパーからデータを取得する方法はいろんな場面で応用できると思います。ちなみに私は Go のロガーライブラリの実装で活用しています。 HTTPリクエストのレスポンスサイズを計測する HTTP リクエストの場合、リクエストのサイズはヘッダの Content-Length から簡単に取得できますがレスポンスサイズは Go 標準ライブラリの http.ResponseWriter にサイズを取得