public function testRequestUrl() { $uriString = 'https://*****:*****@api.zayso.org:8080/referees?project=ng2016&title=NG+2016#42'; $requestLine = 'POSt ' . $uriString . ' HTTP/1.1'; $request = new Request($requestLine); $this->assertEquals('POST', $request->getMethod()); $this->assertEquals('1.1', $request->getProtocolVersion()); $this->assertEquals('/referees', $request->getUri()->getPath()); $this->assertEquals('api.zayso.org', $request->getUri()->getHost()); $this->assertEquals('api.zayso.org', $request->getHeaderLine('Host')); $queryParams = $request->getQueryParams(); $this->assertEquals('NG 2016', $queryParams['title']); $this->assertEquals('https://*****:*****@api.zayso.org:8080/', $request->getBaseHrefAbs()); }
public function testRequestUri() { $server = ['SCRIPT_NAME' => '/xxx', 'REQUEST_URI' => '/xxx?project=ng2016&title=NG+2016']; $request = new Request($server); $this->assertEquals('/xxx', $request->getUri()->getPath()); $this->assertEquals('/xxx', $request->getRoutePath()); $queryParams = $request->getQueryParams(); $this->assertEquals('NG 2016', $queryParams['title']); }
<?php error_reporting(E_ALL); require __DIR__ . '/../vendor/autoload.php'; use Cerad\Component\HttpMessage\Request as CeradRequest; use Cerad\Component\HttpMessage\Response; use Cerad\Component\HttpMessage\ResponseJson; use Symfony\Component\HttpFoundation\Request as SymfonyRequest; // Symfony\Component\HttpFoundation\Response as SymfonyResponse; // Symfony\Component\HttpFoundation\JsonResponse as SymfonyJsonResponse; $ceradRequest = new CeradRequest($_SERVER); $ceradUri = $ceradRequest->getUri(); $ceradServer = $ceradRequest->getServerParams(); $symfonyRequest = SymfonyRequest::createFromGlobals(); $user = '******'; $baseHref = $ceradRequest->getBaseHref(); $_serverPathInfo = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : 'UNDEFINED'; if ($ceradRequest->isMethodPost()) { $content = $ceradRequest->getParsedBody(); $user = $content['user']; if ($ceradRequest->isJson()) { $response = new ResponseJson($content, 201); $response->send(); return; } if ($ceradRequest->isForm()) { // Redirect if had a session to store things in } } ob_start(); require 'app.html';