Metadata, Header, Trailerとは gRPC では、リクエスト、レスポンスパラメータ以外の情報を Metadata と呼び、key-value(s) 形式で付加することができます。 Metadata には2種類あり、エラーに関する情報を Trailer に、それ以外の情報を Header に格納します。 リクエスト時にエラー情報は不要なため、リクエスト側は Header のみを、レスポンス側は Header, Trailer 両方を付加することができます。 今回扱うのはエラー情報なので、gRPCサーバでエラーの詳細を Trailer に格納し、grpc-gatewayでその内容をエラーレスポンスに変換することでエラーの詳細を返すようにします。 エラーの変換を行う関数の実装 gRPCのエラーからHTTPのエラーレスポンスの構築を行う、HTTPError 関数を実装していき