예제 #1
0
 /**
  * On test les méthodes sur les IP et sur le CLI/AJAX
  */
 public function testIpAndOther()
 {
     $request = RequestManager::getInstance();
     $this->assertTrue($request->isCLI());
     $this->assertFalse($request->isAjax());
     $_SERVER['REMOTE_ADDR'] = '8.8.8.8';
     $this->assertEquals('8.8.8.8', $request->Ip());
     $_SERVER['HTTP_X_FORWARDED_FOR'] = '8.8.4.4';
     $this->assertEquals('8.8.4.4', $request->Ip());
     $_SERVER['HTTP_CLIENT_IP'] = '127.0.0.1';
     $this->assertEquals('127.0.0.1', $request->Ip());
     unset($_SERVER['HTTP_X_FORWARDED_FOR']);
     unset($_SERVER['HTTP_CLIENT_IP']);
     $this->assertEquals(['city' => 'Mountain View', 'state' => 'California', 'country' => 'United States', 'country_code' => 'US', 'continent' => 'North America', 'continent_code' => 'NA'], $request->IpInfo('aa', 'location'));
     $this->assertEquals('Mountain View, California, United States', $request->IpInfo('aa', 'address'));
     $this->assertEquals('Mountain View', $request->IpInfo('aa', 'city'));
     $this->assertEquals('California', $request->IpInfo('aa', 'state'));
     $this->assertEquals('California', $request->IpInfo('aa', 'region'));
     $this->assertEquals('United States', $request->IpInfo('aa', 'country'));
     $this->assertEquals('US', $request->IpInfo('aa', 'countrycode'));
     // Ip is right
     $this->assertEquals('US', $request->IpInfo('8.8.8.8', 'countrycode'));
 }
예제 #2
0
파일: Request.php 프로젝트: quenti77/phq
 /**
  * Modifie la valeur temporairement du header
  *
  * @param string $headerName
  * @param mixed $value
  */
 public static function setHeader($headerName, $value)
 {
     RequestManager::getInstance()->setHeader($headerName, $value);
 }
예제 #3
0
 /**
  * Lance le router et appel les middlewares et le controller
  */
 public function run()
 {
     $path = realpath(__DIR__ . '/../../bin/routes');
     $configFolder = Config::get('folder');
     if ($configFolder) {
         $routePath = $configFolder->routes;
         if ($routePath && file_exists($routePath)) {
             $path = $routePath;
         }
     }
     $rdi = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS);
     $rit = new RecursiveIteratorIterator($rdi);
     foreach ($rit as $file) {
         if ($file->getExtension() === 'php') {
             $pathFile = $file->getRealPath();
             require "{$pathFile}";
         }
     }
     $method = Request::method();
     $routeReturn = !Request::isCLI();
     $route = Router::parse(RequestManager::getInstance()->url, $method, $routeReturn);
     if ($route instanceof Route) {
         echo $route->run();
     }
 }