View source
<?php
namespace Drupal\restful\Exception;
use Drupal\restful\Http\Response;
class RestfulException extends \Exception {
protected $instance = NULL;
protected $fieldErrors = array();
protected $headers = array();
protected $description = '';
public final function getDescription() {
return $this->description ? $this->description : Response::$statusTexts[$this
->getCode()];
}
public function getType() {
$url = 'http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html';
$sections = array(
'100' => '#sec10.1.1',
'101' => '#sec10.1.2',
'200' => '#sec10.2.1',
'201' => '#sec10.2.2',
'202' => '#sec10.2.3',
'203' => '#sec10.2.4',
'204' => '#sec10.2.5',
'205' => '#sec10.2.6',
'206' => '#sec10.2.7',
'300' => '#sec10.3.1',
'301' => '#sec10.3.2',
'302' => '#sec10.3.3',
'303' => '#sec10.3.4',
'304' => '#sec10.3.5',
'305' => '#sec10.3.6',
'307' => '#sec10.3.8',
'400' => '#sec10.4.1',
'401' => '#sec10.4.2',
'402' => '#sec10.4.3',
'403' => '#sec10.4.4',
'404' => '#sec10.4.5',
'405' => '#sec10.4.6',
'406' => '#sec10.4.7',
'407' => '#sec10.4.8',
'408' => '#sec10.4.9',
'409' => '#sec10.4.10',
'410' => '#sec10.4.11',
'411' => '#sec10.4.12',
'412' => '#sec10.4.13',
'413' => '#sec10.4.14',
'414' => '#sec10.4.15',
'415' => '#sec10.4.16',
'416' => '#sec10.4.17',
'417' => '#sec10.4.18',
'500' => '#sec10.5.1',
'501' => '#sec10.5.2',
'502' => '#sec10.5.3',
'503' => '#sec10.5.4',
'504' => '#sec10.5.5',
'505' => '#sec10.5.6',
);
return empty($sections[$this
->getCode()]) ? $url : $url . $sections[$this
->getCode()];
}
public function getInstance() {
if (!module_exists('advanced_help') || empty($this->instance)) {
return NULL;
}
return url($this->instance, array(
'absolute' => TRUE,
));
}
public function getFieldErrors() {
return $this->fieldErrors;
}
public function addFieldError($field_name, $error_message) {
$this->fieldErrors[$field_name][] = $error_message;
}
public function getHeaders() {
return $this->headers;
}
public function setHeader($key, $value) {
$this->headers[$key] = $value;
}
}