Codeigniterでヘッダの扱いでハマった話
仕事でネイティブアプリと通信するAPIのサーバサイド実装をしています。
アプリの強制アップデート機能を実装するために、HTTPヘッダに"App-Version"という項目を追加して、Inputクラスのget_request_headerで取得しようとしました。 最初にやってみた実装は下記の通り。
$this->input->get_request_header('App-Version');
で、取得できませんでした。
とりあえず、出力させてみようということで、下記を実行してみました。
log_message('debug', var_export($this->input->request_headers(), true));
で、ログを確認すると、キーがApp-version
になってました。
$this->input->get_request_header('App-version');
にしたら、無事、取得出来ました。
request_headersメソッド内のコメントを見ると、
// take SOME_HEADER and turn it into Some-Header
ってかいてあったから、versionの頭も大文字になるものだとばっかり。。。
CodeIgniterのバージョンは、2.1.4です。
最新のバージョンでどうなってるかはわかんないですが、こうゆうことが、ちらほら出てくるので、CodeIgniterはあんまり好きになれないんですよねー。。。