<?php namespace Eae\Exception;

use Symfony\Component\HttpKernel\Exception\HttpException as BaseHttpException;
use Exception;
use Config;
use Lang;
  
class ApiHttpException extends BaseHttpException{
    private $apiMessage;  
    
    public function __construct($statusCode, $apiMessage, Exception $previous = null, array $headers = array(), $code = 0){
        if(is_array($apiMessage)){
            $this->apiMessage = $apiMessage;    
        }else{
            $this->apiMessage = array(
                "error" => Config::get("error.{$apiMessage}"),
                "description" => Lang::get("response.{$apiMessage}"),
            );    
        }

        parent::__construct($statusCode, $this->apiMessage["description"], $previous, $headers, $code);        
    } 
    
    public function getApiMessage()
    {
        return $this->apiMessage;
    }   
}
