gRPC serverのmetadataをテストする方法をまとめる

gRPC ServerのレスポンスにはMetadataを含めることができる。gRPCのレスポンス・ステータス(io.grpc.Status.OKやio.grpc.Status.INVALID_ARGUMENT)やDescription(エラーメッセージ)に加え、例えば400系のエラーでも異なるエラー内容をクライアントに伝え…

jackson.datatypeをつかってiOSのレシートの日付文字列をデシアライズする

iOSアプリで購入したアイテムのレシート検証を実装する過程でレシートに含まれる日付文字列をdata classにデシアライズしてみた。 レシートに含まれる日付は次のような形となっている。 "expires_date": "2016-06-17 01:32:28 Etc/GMT" 見慣れないタイムゾー…

KotlinでConstructor Injectionが増えてきたからDelegateをつかってリファクタリングしてみた

今回のエントリはDelegateの使い方をまとめる。 次のようなConstructor Injectionに複数のサービスクラスが並んだTaskBackendServerクラスがある。 @GRpcService class TaskBackendServer(private val getTaskService: GetTaskService, private val findTask…