fuelPHPでHTTPヘッダ操作

fuelPHPでHTTPヘッダを操作する場合のコードがイメージつかなかったのでメモ。
存在チェックとか足りていないかもしれないし、机上コードなので動かないかもしれないですが、大体こんな感じ。


・送信側に実装する場合

class Controller_Test extends Controller {
 public function post_index(){

  // URL設定
  $url = 'http://〜/test';
  $request = Request::forge($url, 'curl');

  // POSTメソッド設定
  $request->set_method('post');

  // パラメタ設定
  $data = array("loginid" => "hogeid","password"  => "hogepass");
  $request->set_params($data);

  // HTTPヘッダ設定
  $request->set_header('Content-Type', 'application/json'); // コンテンツタイプ
  $request->set_header('CUSTOM-HEAD-001', 'hogehead'); // 独自ヘッダ

  // リクエスト実行
  $request->execute();

  // レスポンス解析
  $response = $request->response();
  $hoge = $response->headers['RESULT-CUSTOM-HEAD-001'];
  $body = $response->body();
 }
}


・受信側に実装する場合

class Controller_Test extends Controller {
 public function post_index(){

  // ヘッダ解析
  $headers = Input::headers();
  $hoge = $headers['CUSTOM-HEAD-001'];

  // レスポンス設定
  $this->response->set_header('RESULT-CUSTOM-HEAD-001', 'api'.$hoge);
 }
}


・参考にさせていただいたサイト様
FuelPHPでPOSTリクエスト
FuelPHPで気になるあの情報の取り出し方