/** * Store the request context for a given request. * * @param \Cake\Network\Request $request The request instance. * @return void */ protected static function _setContext($request) { static::$_requestContext = ['_base' => $request->base, '_port' => $request->port(), '_scheme' => $request->scheme(), '_host' => $request->host()]; }
/** * Populate the request context used to generate URL's * Generally set to the last/most recent request. * * @param \Cake\Network\Request $request * @return void */ public function setContext(Request $request) { $this->_requestContext = ['_base' => $request->base, '_port' => $request->port(), '_scheme' => $request->scheme(), '_host' => $request->host()]; }
/** * Test host retrieval. * * @return void */ public function testHost() { $request = new Request(['environment' => ['HTTP_HOST' => 'localhost', 'HTTP_X_FORWARDED_HOST' => 'cakephp.org']]); $this->assertEquals('localhost', $request->host()); $request->trustProxy = true; $this->assertEquals('cakephp.org', $request->host()); }
/** * Store the request context for a given request. * * @param \Cake\Network\Request|\Psr\Http\Message\ServerRequestInterface $request The request instance. * @return void * @throws InvalidArgumentException When parameter is an incorrect type. */ public static function setRequestContext($request) { if ($request instanceof Request) { static::$_requestContext = ['_base' => $request->base, '_port' => $request->port(), '_scheme' => $request->scheme(), '_host' => $request->host()]; return; } if ($request instanceof ServerRequestInterface) { $uri = $request->getUri(); static::$_requestContext = ['_base' => $request->getAttribute('base'), '_port' => $uri->getPort(), '_scheme' => $uri->getScheme(), '_host' => $uri->getHost()]; return; } throw new InvalidArgumentException('Unknown request type received.'); }