Krinkle has uploaded a new change for review.
https://gerrit.wikimedia.org/r/289316
Change subject: exception: Create generic BadRequestError based on
ErrorPageError
......................................................................
exception: Create generic BadRequestError based on ErrorPageError
Ideally this would be an option in ErrorPageError (perhaps even the default),
but it's constructor isn't very suitable for that.
After this lands, uses of ErrorPageError should be audited to see if it makes
sense to emit a 400 status code.
Change-Id: I4beb6a4f256446b98b66d5e4bcdbab8f247441a8
---
M autoload.php
A includes/exception/BadRequestError.php
M includes/exception/BadTitleError.php
3 files changed, 39 insertions(+), 16 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/16/289316/1
diff --git a/autoload.php b/autoload.php
index cf0e417..e16708f 100644
--- a/autoload.php
+++ b/autoload.php
@@ -164,6 +164,7 @@
'BacklinkJobUtils' => __DIR__ .
'/includes/jobqueue/utils/BacklinkJobUtils.php',
'BackupDumper' => __DIR__ . '/maintenance/backup.inc',
'BackupReader' => __DIR__ . '/maintenance/importDump.php',
+ 'BadRequestError' => __DIR__ .
'/includes/exception/BadRequestError.php',
'BadTitleError' => __DIR__ . '/includes/exception/BadTitleError.php',
'BagOStuff' => __DIR__ . '/includes/libs/objectcache/BagOStuff.php',
'BaseDump' => __DIR__ . '/maintenance/backupPrefetch.inc',
diff --git a/includes/exception/BadRequestError.php
b/includes/exception/BadRequestError.php
new file mode 100644
index 0000000..5fcf0e6
--- /dev/null
+++ b/includes/exception/BadRequestError.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * An error page that emits an HTTP 400 Bad Request status code.
+ *
+ * @since 1.28
+ * @ingroup Exception
+ */
+class BadRequestError extends ErrorPageError {
+
+ public function report() {
+ global $wgOut;
+ $wgOut->setStatusCode( 400 );
+ parent::report();
+ }
+}
diff --git a/includes/exception/BadTitleError.php
b/includes/exception/BadTitleError.php
index 3f4c213..f24045b 100644
--- a/includes/exception/BadTitleError.php
+++ b/includes/exception/BadTitleError.php
@@ -20,13 +20,14 @@
/**
* Show an error page on a badtitle.
- * Similar to ErrorPage, but emit a 400 HTTP error code to let mobile
- * browser it is not really a valid content.
+ *
+ * Uses BadRequestError to emit a 400 HTTP error code to let mobile
+ * browser it is not really a valid content. (T35646)
*
* @since 1.19
* @ingroup Exception
*/
-class BadTitleError extends ErrorPageError {
+class BadTitleError extends BadRequestError {
/**
* @param string|Message|MalformedTitleException $msg A message key
(default: 'badtitletext'), or
* a MalformedTitleException to figure out things from
@@ -44,18 +45,5 @@
} else {
parent::__construct( 'badtitle', $msg, $params );
}
- }
-
- /**
- * Just like ErrorPageError::report() but additionally set
- * a 400 HTTP status code (bug 33646).
- */
- public function report() {
- global $wgOut;
-
- // bug 33646: a badtitle error page need to return an error code
- // to let mobile browser now that it is not a normal page.
- $wgOut->setStatusCode( 400 );
- parent::report();
}
}
--
To view, visit https://gerrit.wikimedia.org/r/289316
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4beb6a4f256446b98b66d5e4bcdbab8f247441a8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits