/usr/share/php/Icinga/Web/Request.php is in php-icinga 2.1.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Web;
use Zend_Controller_Request_Http;
use Icinga\Application\Icinga;
use Icinga\User;
/**
* A request
*/
class Request extends Zend_Controller_Request_Http
{
/**
* Response
*
* @var Response
*/
protected $response;
/**
* Unique identifier
*
* @var string
*/
protected $uniqueId;
/**
* Request URL
*
* @var Url
*/
protected $url;
/**
* User if authenticated
*
* @var User|null
*/
protected $user;
/**
* Get the response
*
* @return Response
*/
public function getResponse()
{
if ($this->response === null) {
$this->response = Icinga::app()->getResponse();
}
return $this->response;
}
/**
* Get the request URL
*
* @return Url
*/
public function getUrl()
{
if ($this->url === null) {
$this->url = Url::fromRequest($this);
}
return $this->url;
}
/**
* Get the user if authenticated
*
* @return User|null
*/
public function getUser()
{
return $this->user;
}
/**
* Set the authenticated user
*
* @param User $user
*
* @return $this
*/
public function setUser(User $user)
{
$this->user = $user;
return $this;
}
/**
* Get whether the request seems to be an API request
*
* @return bool
*/
public function isApiRequest()
{
return $this->getHeader('Accept') === 'application/json';
}
/**
* Makes an ID unique to this request, to prevent id collisions in different containers
*
* Call this whenever an ID might show up multiple times in different containers. This function is useful
* for ensuring unique ids on sites, even if we combine the HTML of different requests into one site,
* while still being able to reference elements uniquely in the same request.
*
* @param string $id
*
* @return string The id suffixed w/ an identifier unique to this request
*/
public function protectId($id)
{
if (! isset($this->uniqueId)) {
$this->uniqueId = Window::generateId();
}
return $id . '-' . $this->uniqueId;
}
/**
* Detect whether cookies are enabled
*
* @return bool
*/
public function hasCookieSupport()
{
$cookie = new Cookie($this);
return $cookie->isSupported();
}
}
|