10 use Zend\Http\Header\HeaderInterface;
11 use Zend\Stdlib\Parameters;
12 use Zend\Stdlib\ParametersInterface;
13 use Zend\Uri\UriFactory;
14 use Zend\Uri\UriInterface;
19 class Request extends \Zend\Http\PhpEnvironment\Request
118 if (!$uri instanceof UriInterface) {
119 $uri = UriFactory::factory($uri);
121 if ($uri->isValid()) {
122 $path = $uri->getPath();
123 $query = $uri->getQuery();
129 throw new \InvalidArgumentException(
'Invalid URI provided to constructor');
133 parent::__construct();
176 $this->controller =
$value;
211 if (empty($this->pathInfo)) {
226 $requestUri = $this->getRequestUri();
227 if (
'/' == $requestUri) {
232 $pos = strpos($requestUri,
'?');
234 $requestUri = substr($requestUri, 0,
$pos);
238 $pathInfo = substr($requestUri, strlen($baseUrl));
239 if (!empty($baseUrl) &&
'/' ===
$pathInfo) {
241 }
elseif (
null === $baseUrl) {
244 $this->requestString =
$pathInfo . (
$pos !==
false ? substr($requestUri,
$pos) :
'');
270 if (isset($this->aliases[
$name])) {
271 return $this->aliases[
$name];
301 $key = (string) $key;
303 if (isset($this->params[$keyName])) {
304 return $this->params[$keyName];
305 }
elseif (isset($this->queryParams[$keyName])) {
306 return $this->queryParams[$keyName];
307 }
elseif (isset($this->postParams[$keyName])) {
308 return $this->postParams[$keyName];
324 $key = (string) $key;
326 if ((
null ===
$value) && isset($this->params[$keyName])) {
327 unset($this->params[$keyName]);
329 $this->params[$keyName] =
$value;
342 if (
$value = (array)$this->getQuery()) {
345 if (
$value = (array)$this->getPost()) {
361 foreach ($array as $key =>
$value) {
396 $this->dispatched = $flag ? true :
false;
429 private function getSslOffloadHeader()
432 if ($this->sslOffloadHeader ===
null) {
436 $this->sslOffloadHeader = trim(
437 (
string)$this->getAppConfig()->getValue(
438 self::XML_PATH_OFFLOADER_HEADER,
439 \
Magento\Framework\
App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT
453 private function getAppConfig()
455 if ($this->appConfig ==
null) {
469 $https = $this->getServer(
'HTTPS');
470 $headerServerPort = $this->getServer(
'SERVER_PORT');
471 return (!empty($https) && $https !=
'off') || $headerServerPort == 443;
483 $offLoaderHeader = str_replace(
'-',
'_', strtoupper($offLoaderHeader));
485 $header = $this->getServer($offLoaderHeader);
487 $httpHeader = $this->getServer(
'HTTP_' . $offLoaderHeader);
488 return !empty($offLoaderHeader) && ($header ===
'https' || $httpHeader ===
'https');
500 return $this->cookieReader->getCookie(
$name, $default);
512 $server = $this->getServer(
$name, $default);
513 if ($server instanceof ParametersInterface) {
514 return $server->toArray();
529 if (
$query instanceof ParametersInterface) {
544 if (is_array(
$name)) {
546 $this->getQuery()->set($key,
$value);
563 $post = $this->getPost(
$name, $default);
564 if ($post instanceof ParametersInterface) {
565 return $post->toArray();
579 if (is_array(
$name)) {
580 $this->setPost(
new Parameters(
$name));
598 case isset($this->params[$key]):
599 return $this->params[$key];
601 case isset($this->queryParams[$key]):
602 return $this->queryParams[$key];
604 case isset($this->postParams[$key]):
605 return $this->postParams[$key];
607 case isset($_COOKIE[$key]):
608 return $_COOKIE[$key];
610 case ($key ==
'REQUEST_URI'):
611 return $this->getRequestUri();
613 case ($key ==
'PATH_INFO'):
616 case isset($this->serverParams[$key]):
617 return $this->serverParams[$key];
619 case isset($this->envParams[$key]):
620 return $this->envParams[$key];
633 public function get($key)
635 return $this->
__get($key);
647 case isset($this->params[$key]):
650 case isset($this->queryParams[$key]):
653 case isset($this->postParams[$key]):
656 case isset($_COOKIE[$key]):
659 case isset($this->serverParams[$key]):
662 case isset($this->envParams[$key]):
690 $header = parent::getHeader(
$name, $default);
691 if ($header instanceof HeaderInterface) {
692 return $header->getFieldValue();
707 $httpHost = $this->getServer(
'HTTP_HOST');
708 $httpHost = $this->converter->cleanString($httpHost);
709 if (empty($httpHost)) {
713 $host = explode(
':', $httpHost);
727 if ($checkProxy && $this->getServer(
'HTTP_CLIENT_IP') !=
null) {
728 $ip = $this->getServer(
'HTTP_CLIENT_IP');
729 }
elseif ($checkProxy && $this->getServer(
'HTTP_X_FORWARDED_FOR') !=
null) {
730 $ip = $this->getServer(
'HTTP_X_FORWARDED_FOR');
732 $ip = $this->getServer(
'REMOTE_ADDR');
756 if (isset($this->params[$key])) {
757 return $this->params[$key];
770 if ($requestUri ===
null) {
771 $requestUri = $this->detectRequestUri();
772 }
elseif (!is_string($requestUri)) {
775 if (
false !== (
$pos = strpos($requestUri,
'?'))) {
781 $this->requestUri = $requestUri;
792 $url = urldecode(parent::getBaseUrl());
793 $url = str_replace(
'\\',
'/',
$url);
getUserParam($key, $default=null)
const XML_PATH_OFFLOADER_HEADER
elseif(isset( $params[ 'redirect_parent']))
setPostValue($name, $value=null)
getQueryValue($name=null, $default=null)
getParam($key, $default=null)
getHttpHost($trimPort=true)
getServerValue($name=null, $default=null)
getPostValue($name=null, $default=null)
setQueryValue($name, $value=null)
__construct(CookieReaderInterface $cookieReader, StringUtils $converter, $uri=null)
setControllerName($value)
initialRequestSecure($offLoaderHeader)
getClientIp($checkProxy=true)
getCookie($name=null, $default=null)
setDispatched($flag=true)
setPathInfo($pathInfo=null)
setRequestUri($requestUri=null)
getHeader($name, $default=false)
if(!isset($_GET['name'])) $name