/** * 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 port retrieval. * * @return void */ public function testPort() { $request = new Request(['environment' => ['SERVER_PORT' => '80']]); $this->assertEquals('80', $request->port()); $request->env('SERVER_PORT', '443'); $request->env('HTTP_X_FORWARDED_PORT', '80'); $this->assertEquals('443', $request->port()); $request->trustProxy = true; $this->assertEquals('80', $request->port()); }
/** * 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.'); }