public function testSignSymfonyRequest() { $request = Symfony\Component\HttpFoundation\Request::create('http://somesite.com/sample/url', 'GET', ['foo' => 'bar']); $generator = new Generator(); $request = $generator->addSignatureToSymfonyRequest($request, 'myapi123', 'mysecret456'); $nonce = $request->headers->get('X-TOKENLY-AUTH-NONCE'); PHPUnit::assertGreaterThanOrEqual(time(), $nonce); PHPUnit::assertEquals('myapi123', $request->headers->get('X-TOKENLY-AUTH-API-TOKEN')); $expected_signature = $this->expectedSignature($nonce); PHPUnit::assertEquals($expected_signature, $request->headers->get('X-TOKENLY-AUTH-SIGNATURE')); }
<?php require_once __DIR__ . '/../vendor/autoload.php'; $app = new Silex\Application(); require __DIR__ . '/../app/config/dev.php'; require __DIR__ . '/../app/app.php'; require __DIR__ . '/../app/routes.php'; list($_, $method, $path) = $argv; $request = Symfony\Component\HttpFoundation\Request::create($path, $method); $app->run($request);
/** * handle error pages. * * @return \Symfony\Component\HttpFoundation\Response return response http foundation. */ public function handleErrors() { $this->Silexapp->error(function (\Exception $e, $code) { $request = new \Symfony\Component\HttpFoundation\Request(); switch ($code) { case 404: $subrequest = $request->create('/Error/E404'); $response = $this->Silexapp->handle($subrequest, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, false); $message = $response->getContent(); unset($response, $subrequest); break; case 403: $subrequest = $request->create('/Error/E403'); $response = $this->Silexapp->handle($subrequest, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, false); $message = $response->getContent(); unset($response, $subrequest); break; default: $subrequest = $request->create('/Error/E' . $code); $response = $this->Silexapp->handle($subrequest, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, false); $message = $response->getContent(); unset($response, $subrequest); } unset($request); return new \Symfony\Component\HttpFoundation\Response($message); }); }
/** * Creates a Request based on a given URI and configuration. * * The information contained in the URI always take precedence * over the other information (server and parameters). * * @param string $uri The URI * @param string $method The HTTP method * @param array $parameters The query (GET) or request (POST) parameters * @param array $cookies The request cookies ($_COOKIE) * @param array $files The request files ($_FILES) * @param array $server The server parameters ($_SERVER) * @param string $content The raw body data * * @return Request A Request instance * * @api */ public static function create($uri, $method = "GET", $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null) { return Symfony\Component\HttpFoundation\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); }