diff --git a/framework/yii/base/Application.php b/framework/yii/base/Application.php index 8a96e94..9969ecd 100644 --- a/framework/yii/base/Application.php +++ b/framework/yii/base/Application.php @@ -8,6 +8,7 @@ namespace yii\base; use Yii; +use yii\web\HttpException; /** * Application is the base class for all application classes. diff --git a/framework/yii/base/ErrorHandler.php b/framework/yii/base/ErrorHandler.php index 4e3e92a..fe9eef3 100644 --- a/framework/yii/base/ErrorHandler.php +++ b/framework/yii/base/ErrorHandler.php @@ -8,6 +8,7 @@ namespace yii\base; use Yii; +use yii\web\HttpException; /** * ErrorHandler handles uncaught PHP errors and exceptions. diff --git a/framework/yii/views/errorHandler/main.php b/framework/yii/views/errorHandler/main.php index d7bbb3d..05e217e 100644 --- a/framework/yii/views/errorHandler/main.php +++ b/framework/yii/views/errorHandler/main.php @@ -14,7 +14,7 @@ $context = $this->context; <?php - if ($exception instanceof \yii\base\HttpException) { + if ($exception instanceof \yii\web\HttpException) { echo (int) $exception->statusCode . ' ' . $context->htmlEncode($exception->getName()); } elseif ($exception instanceof \yii\base\Exception) { echo $context->htmlEncode($exception->getName() . ' – ' . get_class($exception)); @@ -362,7 +362,7 @@ pre .diff .change{ <?php else: ?> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA6CAIAAACPssguAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcwRURBOUQxQzQ3RDExRTJCRjVFODJDQkFGODFDN0VBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjcwRURBOUQyQzQ3RDExRTJCRjVFODJDQkFGODFDN0VBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzBFREE5Q0ZDNDdEMTFFMkJGNUU4MkNCQUY4MUM3RUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzBFREE5RDBDNDdEMTFFMkJGNUU4MkNCQUY4MUM3RUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4L6mYsAAAE9klEQVR42tRa227aTBDGiwkhJtD8EanSQ6RKqKpSBbWqql5U7QP0TfsSvWhvStMEO6cqDUpjRylSQ1QC+IQN/mdrhBIb413vgsheIDDr9XwzOzPfzFrwPC/Fe8Cauiybe3uersNPQZJylYr04oUgCNyfJXJfcTAYXH/5YoH0qjq66LbbTrtdfPcOITTXALDuf/40FSWlabeuq6rpeZkHD6Ryma8dOOvDdV19Zycg/XBoml6r9ft9vk9EnNV/dOT8+RM1oXdxof/4wdfrEF/1G7Va+uIiagL8BfaBafMIAHy38/17/+/fydNgAkyDyXMHwLEsS1EmqH9kBOvgACbPFwDQaPfr11S9TjT7+JijEfgAsFst8/CQYv7BQe/6el4AQGTsfPuGbqSt2CGcnrarVS4hlRUAxETz9+/eyQntjXAL3MgeUhG7+vXtbSr1Dx+sqoYss3sCYlS/cXLinJ8nu713emqoKqMRmAD4xAElBQA3GpA62DwBsagfiIN7ecnyeHZyIbKoP4o46KurY2+Rrq7CeQ08YenZs0wmM1MAI+KQDv3VKpd7r1+L2WwQsGH0q9VCyN3dZrOrKPdevUpGsxMCmEAcMqVSaWNjcXExcN00zRbQ7BAAWMSs1ZY2N7NLSzMCMJk4ZBFaXl4OAxBF0Yza68fH3Z2dzNu3Ceo1lMB3raurScQhgqjBDhGiibS1v98zzVlEIax+CJ0TM9fYqAIXB9HRBsiFXq0myGuIVv2xxGGQNCaCVcG2tCGVDkBi4jBU80ThYFlwLVojICr1kxAHFLHRsWoNgzu5oABASBw8247ygVScZJhcyDIVuUDk6tf39oiIg+exUAOwMNiZfAVSAI7jGPv7sSUvhwLl/Jyqc0EEwA+dsR2H+EFWy4OdwdqERiACQNhxGIaaaCcWyDY3Zni7u2BzPgDoOg64Yo92YvJ43e2CzUlCKmIlDsSZ2FcG4Qq4faQoJO0jRKJ+uszFq+tWr5PkNRRPHM7O2IWBpdxGYxrkAk2DODihbAqKdJpNkRIDJhdxniDGEgdavgpSWp8+XX7+HADg9vsJCnDcPnr+XHr0KKpeE6fScdA0l1P7AIwAu2BxfR3qIYotREEcpj8mkwsxkjjs7iYmDuRdCXJykSuXx3YuxEji0O2mE0lvlEpWpZK6vWsxv2s0BCjeE1kVk4ujo2KlEvYEkZE4jMlBCK1sbUFdf7NCx22YlRVHURKuCeSiVpM2N8NGEFmJwzgAIH2hUAhYAD6vGQ6J/bOpe2/eBDoXiJ04jNm1CAVsDT8Zj7ijyAViJQ6zHPV6Z3s7kNfQrcylqlCVpuZ42IeHgbMpdJM4QD2auFc+mxE+m0JUHQfSqHd2Fsg7mMxxWjxwNiX43yBzNT9+9GSZj6I2NsKZH5e5Y9+hSODQ79+vfvjgP0K8SRzSvCw9jgvxJBe/fpmaln/yBAe3WXYcOHYuRmdTCFctmsah4zBjhtdo+D08BGHVhs1zd9Q/MgKIDcJjCwzyefv+/dRdG86/zItzvri+7knS3ZLefPgQPX7sMxSUy+W8ly+NtbW7Ir2+tjaoVHL5fDqdFgFENpstlMtQ/bdlOc3pJZLpjX6x6G1t/ff0KegdH1v96yV7EEk7nU6r1bJtm+PrVPx9FyFQd7FYBMa+sLAwBODnMgirAAM+p/EqLDcuJAiwbaCsgU+fsf8vwADjle3ME1OGEwAAAABJRU5ErkJggg==" alt="Attention"/> <h1><?php - if ($exception instanceof \yii\base\HttpException) { + if ($exception instanceof \yii\web\HttpException) { echo '<span>' . $context->createHttpStatusLink($exception->statusCode, $context->htmlEncode($exception->getName())) . '</span>'; echo ' – ' . $context->addTypeLinks(get_class($exception)); } elseif ($exception instanceof \yii\base\Exception) { diff --git a/framework/yii/web/AccessControl.php b/framework/yii/web/AccessControl.php index ce64533..7dedaf9 100644 --- a/framework/yii/web/AccessControl.php +++ b/framework/yii/web/AccessControl.php @@ -10,7 +10,7 @@ namespace yii\web; use Yii; use yii\base\Action; use yii\base\ActionFilter; -use yii\base\HttpException; +use yii\web\HttpException; /** * AccessControl provides simple access control based on a set of rules. diff --git a/framework/yii/web/Application.php b/framework/yii/web/Application.php index 12c9295..ce326a2 100644 --- a/framework/yii/web/Application.php +++ b/framework/yii/web/Application.php @@ -8,7 +8,7 @@ namespace yii\web; use Yii; -use yii\base\HttpException; +use yii\web\HttpException; use yii\base\InvalidRouteException; /** diff --git a/framework/yii/web/Controller.php b/framework/yii/web/Controller.php index 026c078..22a2ebd 100644 --- a/framework/yii/web/Controller.php +++ b/framework/yii/web/Controller.php @@ -8,7 +8,7 @@ namespace yii\web; use Yii; -use yii\base\HttpException; +use yii\web\HttpException; use yii\base\InlineAction; /** diff --git a/framework/yii/base/HttpException.php b/framework/yii/web/HttpException.php similarity index 83% rename from framework/yii/base/HttpException.php rename to framework/yii/web/HttpException.php index 2e3c8d4..384a5b4 100644 --- a/framework/yii/base/HttpException.php +++ b/framework/yii/web/HttpException.php @@ -5,7 +5,10 @@ * @license http://www.yiiframework.com/license/ */ -namespace yii\base; +namespace yii\web; + +use yii\base\UserException; +use yii\web\Response; /** * HttpException represents an exception caused by an improper request of the end-user. @@ -42,9 +45,8 @@ class HttpException extends UserException */ public function getName() { - // use absolute namespaced class here because PHP will generate a mysterious error otherwise - if (isset(\yii\web\Response::$httpStatuses[$this->statusCode])) { - return \yii\web\Response::$httpStatuses[$this->statusCode]; + if (isset(Response::$httpStatuses[$this->statusCode])) { + return Response::$httpStatuses[$this->statusCode]; } else { return 'Error'; } diff --git a/framework/yii/web/Request.php b/framework/yii/web/Request.php index 6f5cdb5..afd2f8a 100644 --- a/framework/yii/web/Request.php +++ b/framework/yii/web/Request.php @@ -8,7 +8,7 @@ namespace yii\web; use Yii; -use yii\base\HttpException; +use yii\web\HttpException; use yii\base\InvalidConfigException; use yii\helpers\SecurityHelper; diff --git a/framework/yii/web/Response.php b/framework/yii/web/Response.php index d74ef2c..ac1c9cc 100644 --- a/framework/yii/web/Response.php +++ b/framework/yii/web/Response.php @@ -8,7 +8,7 @@ namespace yii\web; use Yii; -use yii\base\HttpException; +use yii\web\HttpException; use yii\base\InvalidParamException; use yii\helpers\FileHelper; use yii\helpers\Html; diff --git a/framework/yii/web/User.php b/framework/yii/web/User.php index 7ea561c..f273c1a 100644 --- a/framework/yii/web/User.php +++ b/framework/yii/web/User.php @@ -9,7 +9,7 @@ namespace yii\web; use Yii; use yii\base\Component; -use yii\base\HttpException; +use yii\web\HttpException; use yii\base\InvalidConfigException; /** diff --git a/framework/yii/web/VerbFilter.php b/framework/yii/web/VerbFilter.php index 2b7567f..a3fd662 100644 --- a/framework/yii/web/VerbFilter.php +++ b/framework/yii/web/VerbFilter.php @@ -10,7 +10,7 @@ namespace yii\web; use Yii; use yii\base\ActionEvent; use yii\base\Behavior; -use yii\base\HttpException; +use yii\web\HttpException; /** * VerbFilter is an action filter that filters by HTTP request methods. @@ -70,7 +70,7 @@ class VerbFilter extends Behavior /** * @param ActionEvent $event * @return boolean - * @throws \yii\base\HttpException when the request method is not allowed. + * @throws HttpException when the request method is not allowed. */ public function beforeAction($event) { diff --git a/tests/unit/framework/web/ResponseTest.php b/tests/unit/framework/web/ResponseTest.php index d87546f..f35dda4 100644 --- a/tests/unit/framework/web/ResponseTest.php +++ b/tests/unit/framework/web/ResponseTest.php @@ -76,7 +76,7 @@ class ResponseTest extends \yiiunit\TestCase */ public function testSendFileWrongRanges($rangeHeader) { - $this->setExpectedException('yii\base\HttpException'); + $this->setExpectedException('yii\web\HttpException'); $dataFile = \Yii::getAlias('@yiiunit/data/web/data.txt'); $_SERVER['HTTP_RANGE'] = 'bytes=' . $rangeHeader;