original_string: public static function checkCORS()
      {
          Logger::log('Checking CORS');
          $corsEnabled = Config::getParam('cors.enabled');
          $request = Request::getInstance();
          if (NULL !== $corsEnabled) {
              if ($corsEnabled === '*' || preg_match($corsEnabled, $request->getServer('HTTP_REFERER'))) {
                  if (!headers_sent()) {
                      // TODO include this headers in Template class output method
                      header('Access-Control-Allow-Credentials: true');
                      header('Access-Control-Allow-Origin: ' . Request::getInstance()->getServer('HTTP_ORIGIN', '*'));
                      header('Vary: Origin');
                      header('Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS');
                      header('Access-Control-Allow-Headers: ' . implode(', ', self::getCorsHeaders()));
                  }
                  if (Request::getInstance()->getMethod() === Request::VERB_OPTIONS) {
                      Logger::log('Returning OPTIONS header confirmation for CORS pre flight requests', LOG_DEBUG);
                      header('HTTP/1.1 200 OK');
                      exit();
                  }
              }
          }
      }
code: public static function checkCORS()
      {
          Logger::log('Checking CORS');
          $corsEnabled = Config::getParam('cors.enabled');
          $request = Request::getInstance();
          if (NULL !== $corsEnabled) {
              if ($corsEnabled === '*' || preg_match($corsEnabled, $request->getServer('HTTP_REFERER'))) {
                  if (!headers_sent()) {
                      // TODO include this headers in Template class output method
                      header('Access-Control-Allow-Credentials: true');
                      header('Access-Control-Allow-Origin: ' . Request::getInstance()->getServer('HTTP_ORIGIN', '*'));
                      header('Vary: Origin');
                      header('Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS');
                      header('Access-Control-Allow-Headers: ' . implode(', ', self::getCorsHeaders()));
                  }
                  if (Request::getInstance()->getMethod() === Request::VERB_OPTIONS) {
                      Logger::log('Returning OPTIONS header confirmation for CORS pre flight requests', LOG_DEBUG);
                      header('HTTP/1.1 200 OK');
                      exit();
                  }
              }
          }
      }
code_tokens: public static function checkCORS ( ) { Logger :: log ( 'Checking CORS' ) ; $ corsEnabled = Config :: getParam ( 'cors.enabled' ) ; $ request = Request :: getInstance ( ) ; if ( NULL !== $ corsEnabled ) { if ( $ corsEnabled === '*' || preg_match ( $ corsEnabled , $ request -> getServer ( 'HTTP_REFERER' ) ) ) { if ( ! headers_sent ( ) ) { // TODO include this headers in Template class output method header ( 'Access-Control-Allow-Credentials: true' ) ; header ( 'Access-Control-Allow-Origin: ' . Request :: getInstance ( ) -> getServer ( 'HTTP_ORIGIN' , '*' ) ) ; header ( 'Vary: Origin' ) ; header ( 'Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS' ) ; header ( 'Access-Control-Allow-Headers: ' . implode ( ', ' , self :: getCorsHeaders ( ) ) ) ; } if ( Request :: getInstance ( ) -> getMethod ( ) === Request :: VERB_OPTIONS ) { Logger :: log ( 'Returning OPTIONS header confirmation for CORS pre flight requests' , LOG_DEBUG ) ; header ( 'HTTP/1.1 200 OK' ) ; exit ( ) ; } } } }
docstring: Check CROS requests
docstring_tokens: Check CROS requests