75 lines
1.4 KiB
PHP
75 lines
1.4 KiB
PHP
|
<?php
|
||
|
/* Icinga Web 2 | (c) 2017 Icinga Development Team | GPLv2+ */
|
||
|
|
||
|
namespace Icinga\Exception\Http;
|
||
|
|
||
|
use Icinga\Exception\IcingaException;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Base class for HTTP exceptions
|
||
|
*/
|
||
|
class BaseHttpException extends IcingaException implements HttpExceptionInterface
|
||
|
{
|
||
|
/**
|
||
|
* This exception's HTTP status code
|
||
|
*
|
||
|
* @var int
|
||
|
*/
|
||
|
protected $statusCode;
|
||
|
|
||
|
/**
|
||
|
* This exception's HTTP response headers
|
||
|
*
|
||
|
* @var array
|
||
|
*/
|
||
|
protected $headers;
|
||
|
|
||
|
/**
|
||
|
* Return this exception's HTTP status code
|
||
|
*
|
||
|
* @return int
|
||
|
*/
|
||
|
public function getStatusCode()
|
||
|
{
|
||
|
return $this->statusCode;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set this exception's HTTP response headers
|
||
|
*
|
||
|
* @param array $headers
|
||
|
*
|
||
|
* @return $this
|
||
|
*/
|
||
|
public function setHeaders(array $headers)
|
||
|
{
|
||
|
$this->headers = $headers;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set/Add a HTTP response header
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @param string $value
|
||
|
*
|
||
|
* @return $this
|
||
|
*/
|
||
|
public function setHeader($name, $value)
|
||
|
{
|
||
|
$this->headers[$name] = $value;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Return this exception's HTTP response headers
|
||
|
*
|
||
|
* @return array An array where each key is a header name and the value its value
|
||
|
*/
|
||
|
public function getHeaders()
|
||
|
{
|
||
|
return $this->headers;
|
||
|
}
|
||
|
}
|