<?php



class App_Controller_Plugin_RestAuth extends Zend_Controller_Plugin_Abstract{

    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {

    $apiKey = $request->getHeader('x-apikey');
    //var_dump($request->getControllerName());
        //on récupère notre fichier de configuration
        //car notre apikey est stoquée dedans
        $config = Zend_Registry::get('config'); 
        


        //Si notre apikey est mauvaise alors qu'on essaie d'accéder à notre module rest et qu'on est pas sur la page d'erreur, 
        //on renvoie vers la page d'erreur
        if($apiKey != $config  && $request->getControllerName() != "Erro" && $request->getControllerName() == "Rest") {
            //Ici, on met le code 403 ACCES_DENIED à notre réponse HTTP
            $this   ->getResponse()
                    ->setHttpResponseCode(403);
            ///Et on redirige vers le controller d'erreur
            $request->setControllerName('Erro')
                    ->setActionName('api')
                    ->setDispatched(true);
        }

    }
}



