DelegatingHandlerを用いた快適なiOSアプリのHTTP通信周辺環境の整備
昨今のネイティブクライアントアプリで、 HTTP 通信を行わないものはないと言っても過言ではないくらい、アプリ開発の基本中の基本だと思います。きっと、開発を行う中で HTTP 通信の前後に色々な処理を挟んでみたいという気持ちが湧いてくるのではないでしょうか。たとえば以下のような話です。
- リクエストの内容をログ出力したい
- 電波状況が悪いときはリクエストを走らせないようにしたい
- 通信中はネットワークアクティビティインジケータを走らせたい
そんなときに System.Net.Http.DelegatingHandler はとても便利な代物です。公式のドキュメントはこちら: https://msdn.microsoft.com/ja-jp/library/system.net.http.delegatinghandler(v=vs.110).aspx
1. HTTP リクエストのログ出力
たとえば、Http リクエストの内容をログ出力したいとすれば、以下のような簡単な DelegatingHandler のサブクラスを作ってあげるとよいでしょう。
``...
Read More