*/ require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . "vendor" . DIRECTORY_SEPARATOR . "autoload.php"; use RestService\Utils\Config; use RestService\Utils\Logger; use RestService\Http\HttpRequest; use RestService\Http\IncomingHttpRequest; use OAuth\Authorize; use RestService\Http\HttpResponse; $logger = NULL; $request = NULL; $response = NULL; try { $config = new Config(dirname(__DIR__) . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "oauth.ini"); $logger = new Logger($config->getSectionValue('Log', 'logLevel'), $config->getValue('serviceName'), $config->getSectionValue('Log', 'logFile'), $config->getSectionValue('Log', 'logMail', FALSE)); $a = new Authorize($config, $logger); $request = HttpRequest::fromIncomingHttpRequest(new IncomingHttpRequest()); $response = $a->handleRequest($request); } catch (Exception $e) { // internal server error, inform resource owner through browser $response = new HttpResponse(500); $loader = new \Twig_Loader_Filesystem(dirname(__DIR__) . DIRECTORY_SEPARATOR . "views"); $twig = new \Twig_Environment($loader); $output = $twig->render("error.twig", array("statusCode" => $response->getStatusCode(), "statusReason" => $response->getStatusReason(), "errorMessage" => $e->getMessage())); $response->setContent($output); if (NULL !== $logger) { $logger->logFatal($e->getMessage() . PHP_EOL . $request . PHP_EOL . $response); } } if (NULL !== $logger) { $logger->logDebug($request); }
public function testNormalization() { $_SERVER['SERVER_NAME'] = "foo.example.org"; $_SERVER['SERVER_PORT'] = 80; $_SERVER['REQUEST_URI'] = "/resource"; $_SERVER['REQUEST_METHOD'] = "GET"; $_SERVER['HTTP_AUTHORIZATION'] = 'Bearer xyz'; $_SERVER['HTTP_USER_AGENT'] = 'Foo/Bar 1.0.0'; $h = HttpRequest::fromIncomingHttpRequest(new IncomingHttpRequest()); $this->assertEquals("Bearer xyz", $h->getHeader("AuThOrIzAtIoN")); $this->assertEquals("Bearer xyz", $h->getHeader("HTTP-AUTHORIZATION")); $this->assertEquals("Bearer xyz", $h->getHeader("HTTP_authorization")); $this->assertEquals("Foo/Bar 1.0.0", $h->getHeader("HTTP_USER_AGENT")); $this->assertEquals("Foo/Bar 1.0.0", $h->getHeader("USER_AGENT")); $this->assertEquals("Foo/Bar 1.0.0", $h->getHeader("USER-AGENT")); }