aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELEASE-NOTES-1.411
-rw-r--r--autoload.php3
-rw-r--r--img_auth.php1
-rw-r--r--includes/Feed/AtomFeed.php1
-rw-r--r--includes/Feed/ChannelFeed.php1
-rw-r--r--includes/GlobalFunctions.php3
-rw-r--r--includes/Hook/BeforeInitializeHook.php2
-rw-r--r--includes/Hook/EditPage__importFormDataHook.php2
-rw-r--r--includes/Hook/InitializeArticleMaybeRedirectHook.php2
-rw-r--r--includes/Hook/MediaWikiPerformActionHook.php2
-rw-r--r--includes/Hook/TestCanonicalRedirectHook.php2
-rw-r--r--includes/Html/FormOptions.php2
-rw-r--r--includes/MainConfigSchema.php2
-rw-r--r--includes/MediaWiki.php1
-rw-r--r--includes/Output/OutputPage.php3
-rw-r--r--includes/Permissions/UserAuthority.php2
-rw-r--r--includes/Request/DerivativeRequest.php1
-rw-r--r--includes/Request/FauxRequest.php1
-rw-r--r--includes/Request/HeaderCallback.php6
-rw-r--r--includes/Request/WebRequest.php (renamed from includes/WebRequest.php)24
-rw-r--r--includes/Request/WebRequestUpload.php1
-rw-r--r--includes/ResourceLoader/Context.php2
-rw-r--r--includes/ResourceLoader/DerivativeContext.php2
-rw-r--r--includes/ResourceLoader/ResourceLoader.php5
-rw-r--r--includes/Rest/EntryPoint.php1
-rw-r--r--includes/Rest/RequestFromGlobals.php2
-rw-r--r--includes/ServiceWiring.php1
-rw-r--r--includes/Setup.php2
-rw-r--r--includes/actions/Action.php1
-rw-r--r--includes/actions/HistoryAction.php1
-rw-r--r--includes/api/ApiMain.php1
-rw-r--r--includes/api/Hook/RequestHasSameOriginSecurityHook.php2
-rw-r--r--includes/auth/AuthManager.php2
-rw-r--r--includes/block/BlockManager.php2
-rw-r--r--includes/cache/FileCacheBase.php1
-rw-r--r--includes/changes/RecentChange.php7
-rw-r--r--includes/context/ContextSource.php1
-rw-r--r--includes/context/DerivativeContext.php1
-rw-r--r--includes/context/IContextSource.php1
-rw-r--r--includes/context/MutableContext.php1
-rw-r--r--includes/context/RequestContext.php1
-rw-r--r--includes/debug/logger/monolog/WikiProcessor.php2
-rw-r--r--includes/editpage/EditPage.php2
-rw-r--r--includes/exception/MWException.php1
-rw-r--r--includes/exception/MWExceptionHandler.php3
-rw-r--r--includes/exception/MWExceptionRenderer.php1
-rw-r--r--includes/htmlform/HTMLFormField.php1
-rw-r--r--includes/htmlform/fields/HTMLCheckField.php1
-rw-r--r--includes/htmlform/fields/HTMLCheckMatrix.php1
-rw-r--r--includes/htmlform/fields/HTMLMultiSelectField.php1
-rw-r--r--includes/htmlform/fields/HTMLRestrictionsField.php1
-rw-r--r--includes/htmlform/fields/HTMLSelectAndOtherField.php1
-rw-r--r--includes/htmlform/fields/HTMLSelectOrOtherField.php1
-rw-r--r--includes/htmlform/fields/HTMLSizeFilterField.php2
-rw-r--r--includes/http/HttpRequestFactory.php2
-rw-r--r--includes/http/MWHttpRequest.php1
-rw-r--r--includes/installer/DatabaseInstaller.php1
-rw-r--r--includes/installer/InstallerOverrides.php2
-rw-r--r--includes/installer/InstallerSessionProvider.php1
-rw-r--r--includes/installer/WebInstaller.php2
-rw-r--r--includes/jobqueue/Job.php1
-rw-r--r--includes/language/LanguageConverter.php4
-rw-r--r--includes/linkeddata/PageDataRequestHandler.php1
-rw-r--r--includes/page/ImagePage.php1
-rw-r--r--includes/page/ProtectionForm.php2
-rw-r--r--includes/pager/IndexPager.php1
-rw-r--r--includes/session/BotPasswordSessionProvider.php2
-rw-r--r--includes/session/CookieSessionProvider.php6
-rw-r--r--includes/session/CsrfTokenSet.php2
-rw-r--r--includes/session/Hook/SessionCheckInfoHook.php2
-rw-r--r--includes/session/Hook/SessionMetadataHook.php2
-rw-r--r--includes/session/ImmutableSessionProviderWithCookie.php2
-rw-r--r--includes/session/Session.php2
-rw-r--r--includes/session/SessionBackend.php2
-rw-r--r--includes/session/SessionManager.php2
-rw-r--r--includes/session/SessionManagerInterface.php2
-rw-r--r--includes/session/SessionProvider.php2
-rw-r--r--includes/shell/ShellboxClientFactory.php2
-rw-r--r--includes/skins/components/SkinComponentUtils.php2
-rw-r--r--includes/specialpage/AuthManagerSpecialPage.php1
-rw-r--r--includes/specialpage/SpecialPage.php1
-rw-r--r--includes/specials/Hook/SpecialLogAddLogSearchRelationsHook.php2
-rw-r--r--includes/specials/SpecialBlock.php2
-rw-r--r--includes/specials/SpecialEditWatchlist.php2
-rw-r--r--includes/specials/SpecialSearch.php1
-rw-r--r--includes/specials/SpecialUnblock.php1
-rw-r--r--includes/specials/SpecialUpload.php1
-rw-r--r--includes/upload/UploadBase.php1
-rw-r--r--includes/upload/UploadFromFile.php1
-rw-r--r--includes/upload/UploadFromStash.php1
-rw-r--r--includes/upload/UploadFromUrl.php1
-rw-r--r--includes/user/BotPassword.php1
-rw-r--r--includes/user/TempUser/TempUserCreator.php2
-rw-r--r--includes/user/User.php1
-rw-r--r--includes/utils/MWRestrictions.php1
-rw-r--r--tests/phpunit/MediaWikiIntegrationTestCase.php1
-rw-r--r--tests/phpunit/includes/FauxRequestTest.php1
-rw-r--r--tests/phpunit/includes/MediaWikiTest.php1
-rw-r--r--tests/phpunit/includes/OutputPageTest.php1
-rw-r--r--tests/phpunit/includes/ResourceLoader/ContextTest.php2
-rw-r--r--tests/phpunit/includes/WebRequestTest.php1
-rw-r--r--tests/phpunit/includes/actions/RollbackActionTest.php2
-rw-r--r--tests/phpunit/includes/actions/WatchActionTest.php1
-rw-r--r--tests/phpunit/includes/api/ApiMainTest.php1
-rw-r--r--tests/phpunit/includes/api/ApiTestContext.php1
-rw-r--r--tests/phpunit/includes/auth/AuthManagerTest.php2
-rw-r--r--tests/phpunit/includes/block/BlockManagerTest.php1
-rw-r--r--tests/phpunit/includes/jobqueue/JobRunnerTest.php1
-rw-r--r--tests/phpunit/includes/jobqueue/JobTest.php1
-rw-r--r--tests/phpunit/includes/session/CsrfTokenSetTest.php2
-rw-r--r--tests/phpunit/includes/specials/SpecialPageExecutor.php1
-rw-r--r--tests/phpunit/includes/specials/SpecialPageTestBase.php1
-rw-r--r--tests/phpunit/includes/user/PasswordResetTest.php1
-rw-r--r--tests/phpunit/includes/user/UserGroupManagerTest.php2
-rw-r--r--tests/phpunit/includes/user/UserTest.php1
-rw-r--r--tests/phpunit/mocks/session/DummySessionProvider.php1
-rw-r--r--tests/phpunit/structure/RestStructureTest.php1
-rw-r--r--tests/phpunit/unit/includes/DerivativeRequestTest.php1
-rw-r--r--tests/phpunit/unit/includes/Permissions/UserAuthorityTest.php2
-rw-r--r--tests/phpunit/unit/includes/utils/MWRestrictionsTest.php1
-rw-r--r--thumb.php1
121 files changed, 154 insertions, 65 deletions
diff --git a/RELEASE-NOTES-1.41 b/RELEASE-NOTES-1.41
index c3618083bb25..ed7a3637949d 100644
--- a/RELEASE-NOTES-1.41
+++ b/RELEASE-NOTES-1.41
@@ -699,6 +699,7 @@ because of Phabricator reports.
- OutputPage -> MediaWiki\Output\OutputPage
- StreamFile -> MediaWiki\Output\StreamFile
- SiteConfiguration -> MediaWiki\Config\SiteConfiguration
+ - WebRequest -> MediaWiki\Request\WebRequest
* RevisionStore::getQueryInfo() and RevisionFactory::getQueryInfo() have been
deprecated. Use ::newSelectQueryBuilder() instead.
* Following methods in rdbms library have been made internal:
diff --git a/autoload.php b/autoload.php
index 3dd0e1524c9b..b903de9ddb60 100644
--- a/autoload.php
+++ b/autoload.php
@@ -1695,6 +1695,7 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Request\\HeaderCallback' => __DIR__ . '/includes/Request/HeaderCallback.php',
'MediaWiki\\Request\\PathRouter' => __DIR__ . '/includes/Request/PathRouter.php',
'MediaWiki\\Request\\ProxyLookup' => __DIR__ . '/includes/Request/ProxyLookup.php',
+ 'MediaWiki\\Request\\WebRequest' => __DIR__ . '/includes/Request/WebRequest.php',
'MediaWiki\\Request\\WebRequestUpload' => __DIR__ . '/includes/Request/WebRequestUpload.php',
'MediaWiki\\Request\\WebResponse' => __DIR__ . '/includes/Request/WebResponse.php',
'MediaWiki\\ResourceLoader\\CircularDependencyError' => __DIR__ . '/includes/ResourceLoader/CircularDependencyError.php',
@@ -2847,7 +2848,7 @@ $wgAutoloadLocalClasses = [
'WebInstallerUpgradeDoc' => __DIR__ . '/includes/installer/WebInstallerUpgradeDoc.php',
'WebInstallerWelcome' => __DIR__ . '/includes/installer/WebInstallerWelcome.php',
'WebPHandler' => __DIR__ . '/includes/media/WebPHandler.php',
- 'WebRequest' => __DIR__ . '/includes/WebRequest.php',
+ 'WebRequest' => __DIR__ . '/includes/Request/WebRequest.php',
'WebRequestUpload' => __DIR__ . '/includes/Request/WebRequestUpload.php',
'WebResponse' => __DIR__ . '/includes/Request/WebResponse.php',
'WikiBirthday' => __DIR__ . '/maintenance/wikiBirthday.php',
diff --git a/img_auth.php b/img_auth.php
index 364569d82485..e0d25c0806e1 100644
--- a/img_auth.php
+++ b/img_auth.php
@@ -41,6 +41,7 @@
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Html\TemplateParser;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
diff --git a/includes/Feed/AtomFeed.php b/includes/Feed/AtomFeed.php
index 0ed7f76e6cdb..2f104ba394a1 100644
--- a/includes/Feed/AtomFeed.php
+++ b/includes/Feed/AtomFeed.php
@@ -85,6 +85,7 @@ class AtomFeed extends ChannelFeed {
*/
private function getSelfUrl() {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
return htmlspecialchars( $wgRequest->getFullRequestURL() );
}
diff --git a/includes/Feed/ChannelFeed.php b/includes/Feed/ChannelFeed.php
index 14ac8f5b374e..79614af0a472 100644
--- a/includes/Feed/ChannelFeed.php
+++ b/includes/Feed/ChannelFeed.php
@@ -123,6 +123,7 @@ abstract class ChannelFeed extends FeedItem {
*/
private function contentType() {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
$ctype = $wgRequest->getVal( 'ctype', 'application/xml' );
$allowedctypes = [
diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php
index cdeb27db185a..b22cae8b8928 100644
--- a/includes/GlobalFunctions.php
+++ b/includes/GlobalFunctions.php
@@ -24,6 +24,7 @@ use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\ProcOpenError;
+use MediaWiki\Request\WebRequest;
use MediaWiki\ResourceLoader\ResourceLoader;
use MediaWiki\Shell\Shell;
use MediaWiki\StubObject\StubUserLang;
@@ -466,6 +467,8 @@ function wfGetUrlUtils(): UrlUtils {
global $wgServer, $wgCanonicalServer, $wgInternalServer, $wgRequest, $wgHttpsPort,
$wgUrlProtocols;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
if ( MediaWikiServices::hasInstance() ) {
$services = MediaWikiServices::getInstance();
if ( $services->hasService( 'UrlUtils' ) ) {
diff --git a/includes/Hook/BeforeInitializeHook.php b/includes/Hook/BeforeInitializeHook.php
index 545ccc51d802..6cc8532e6d47 100644
--- a/includes/Hook/BeforeInitializeHook.php
+++ b/includes/Hook/BeforeInitializeHook.php
@@ -4,9 +4,9 @@ namespace MediaWiki\Hook;
use MediaWiki;
use MediaWiki\Output\OutputPage;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use User;
-use WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/Hook/EditPage__importFormDataHook.php b/includes/Hook/EditPage__importFormDataHook.php
index 805b6dd59e64..2f6208a29a94 100644
--- a/includes/Hook/EditPage__importFormDataHook.php
+++ b/includes/Hook/EditPage__importFormDataHook.php
@@ -4,7 +4,7 @@ namespace MediaWiki\Hook;
// phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
use MediaWiki\EditPage\EditPage;
-use WebRequest;
+use MediaWiki\Request\WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/Hook/InitializeArticleMaybeRedirectHook.php b/includes/Hook/InitializeArticleMaybeRedirectHook.php
index 3a46186ecc6c..15b32541ecbe 100644
--- a/includes/Hook/InitializeArticleMaybeRedirectHook.php
+++ b/includes/Hook/InitializeArticleMaybeRedirectHook.php
@@ -3,8 +3,8 @@
namespace MediaWiki\Hook;
use Article;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
-use WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/Hook/MediaWikiPerformActionHook.php b/includes/Hook/MediaWikiPerformActionHook.php
index 705a217dcbf2..b46db1b7b4d3 100644
--- a/includes/Hook/MediaWikiPerformActionHook.php
+++ b/includes/Hook/MediaWikiPerformActionHook.php
@@ -5,9 +5,9 @@ namespace MediaWiki\Hook;
use Article;
use MediaWiki;
use MediaWiki\Output\OutputPage;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use User;
-use WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/Hook/TestCanonicalRedirectHook.php b/includes/Hook/TestCanonicalRedirectHook.php
index 1406c2cc51c6..37ddfd647615 100644
--- a/includes/Hook/TestCanonicalRedirectHook.php
+++ b/includes/Hook/TestCanonicalRedirectHook.php
@@ -3,8 +3,8 @@
namespace MediaWiki\Hook;
use MediaWiki\Output\OutputPage;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
-use WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/Html/FormOptions.php b/includes/Html/FormOptions.php
index d72d14a06e81..f880a5578e95 100644
--- a/includes/Html/FormOptions.php
+++ b/includes/Html/FormOptions.php
@@ -29,8 +29,8 @@
namespace MediaWiki\Html;
use ArrayAccess;
+use MediaWiki\Request\WebRequest;
use MWException;
-use WebRequest;
/**
* Helper class to keep track of options when mixing links and form elements.
diff --git a/includes/MainConfigSchema.php b/includes/MainConfigSchema.php
index f4ffecc3d164..0d02e63783e9 100644
--- a/includes/MainConfigSchema.php
+++ b/includes/MainConfigSchema.php
@@ -47,6 +47,7 @@ use LocalIdLookup;
use LocalisationCache;
use LocalRepo;
use LogFormatter;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Settings\Source\JsonSchemaTrait;
use MediaWikiSite;
use MemcachedPeclBagOStuff;
@@ -81,7 +82,6 @@ use UserEditCountInitJob;
use UserGroupExpiryJob;
use UserOptionsUpdateJob;
use WatchlistExpiryJob;
-use WebRequest;
use Wikimedia\EventRelayer\EventRelayerNull;
use WikitextContentHandler;
use WinCacheBagOStuff;
diff --git a/includes/MediaWiki.php b/includes/MediaWiki.php
index 1027e81c6e10..582de907e258 100644
--- a/includes/MediaWiki.php
+++ b/includes/MediaWiki.php
@@ -28,6 +28,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\PermissionStatus;
use MediaWiki\Profiler\ProfilingContext;
use MediaWiki\Request\DerivativeRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Request\WebResponse;
use MediaWiki\Title\Title;
use MediaWiki\WikiMap\WikiMap;
diff --git a/includes/Output/OutputPage.php b/includes/Output/OutputPage.php
index ecd635c7ad6e..3f2910d0964f 100644
--- a/includes/Output/OutputPage.php
+++ b/includes/Output/OutputPage.php
@@ -47,6 +47,7 @@ use MediaWiki\Parser\ParserOutputFlags;
use MediaWiki\Permissions\PermissionStatus;
use MediaWiki\Request\ContentSecurityPolicy;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\ResourceLoader as RL;
use MediaWiki\ResourceLoader\ResourceLoader;
use MediaWiki\Session\SessionManager;
@@ -66,7 +67,6 @@ use Skin;
use SpecialPage;
use TextContent;
use TitleValue;
-use WebRequest;
use Wikimedia\AtEase\AtEase;
use Wikimedia\LightweightObjectStore\ExpirationAwareness;
use Wikimedia\Parsoid\Core\TOCData;
@@ -4521,6 +4521,7 @@ class OutputPage extends ContextSource {
*/
public static function transformCssMedia( $media ) {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
if ( $wgRequest->getBool( 'printable' ) ) {
// When browsing with printable=yes, apply "print" media styles
diff --git a/includes/Permissions/UserAuthority.php b/includes/Permissions/UserAuthority.php
index e114ac57dac2..968f54aa8ebe 100644
--- a/includes/Permissions/UserAuthority.php
+++ b/includes/Permissions/UserAuthority.php
@@ -27,10 +27,10 @@ use MediaWiki\Block\Block;
use MediaWiki\Block\BlockErrorFormatter;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\Page\PageIdentity;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserIdentity;
use TitleValue;
use User;
-use WebRequest;
use Wikimedia\Assert\Assert;
use Wikimedia\DebugInfo\DebugInfoTrait;
diff --git a/includes/Request/DerivativeRequest.php b/includes/Request/DerivativeRequest.php
index 8f2bc76f616f..eb404589d0d9 100644
--- a/includes/Request/DerivativeRequest.php
+++ b/includes/Request/DerivativeRequest.php
@@ -26,7 +26,6 @@
namespace MediaWiki\Request;
use MediaWiki\Session\Session;
-use WebRequest;
/**
* Similar to MediaWiki\Request\FauxRequest, but only fakes URL parameters and method
diff --git a/includes/Request/FauxRequest.php b/includes/Request/FauxRequest.php
index 2cfc2417a863..e70f250ce52b 100644
--- a/includes/Request/FauxRequest.php
+++ b/includes/Request/FauxRequest.php
@@ -31,7 +31,6 @@ use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Session\SessionManager;
use MWException;
-use WebRequest;
/**
* WebRequest clone which takes values from a provided array.
diff --git a/includes/Request/HeaderCallback.php b/includes/Request/HeaderCallback.php
index 029973b91ed8..ba6f0161a8e4 100644
--- a/includes/Request/HeaderCallback.php
+++ b/includes/Request/HeaderCallback.php
@@ -24,7 +24,7 @@ class HeaderCallback {
// request (ie. in all cases where the request might be performance-sensitive)
// it will have to be loaded at some point anyway.
// This can be removed once we require PHP 8.0+.
- class_exists( \WebRequest::class );
+ class_exists( WebRequest::class );
class_exists( Telemetry::class );
header_register_callback( [ __CLASS__, 'callback' ] );
@@ -59,7 +59,7 @@ class HeaderCallback {
header( 'Cache-Control: private, max-age=0, s-maxage=0' );
\MediaWiki\Logger\LoggerFactory::getInstance( 'cache-cookies' )->warning(
'Cookies set on {url} with Cache-Control "{cache-control}"', [
- 'url' => \WebRequest::getGlobalRequestURL(),
+ 'url' => WebRequest::getGlobalRequestURL(),
'set-cookie' => self::sanitizeSetCookie( $headers['set-cookie'] ),
'cache-control' => $cacheControl ?: '<not set>',
]
@@ -70,7 +70,7 @@ class HeaderCallback {
// Set the request ID on the response, so edge infrastructure can log it.
// FIXME this is not an ideal place to do it, but the most reliable for now.
if ( !isset( $headers['x-request-id'] ) ) {
- header( 'X-Request-Id: ' . \WebRequest::getRequestId() );
+ header( 'X-Request-Id: ' . WebRequest::getRequestId() );
}
// Save a backtrace for logging in case it turns out that headers were sent prematurely
diff --git a/includes/WebRequest.php b/includes/Request/WebRequest.php
index aae31c8d29fd..a0b57ab18cfd 100644
--- a/includes/WebRequest.php
+++ b/includes/Request/WebRequest.php
@@ -23,19 +23,18 @@
* @file
*/
+namespace MediaWiki\Request;
+
+use FatalError;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Http\Telemetry;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
-use MediaWiki\Request\FauxRequest;
-use MediaWiki\Request\FauxResponse;
-use MediaWiki\Request\PathRouter;
-use MediaWiki\Request\WebRequestUpload;
-use MediaWiki\Request\WebResponse;
use MediaWiki\Session\Session;
use MediaWiki\Session\SessionId;
use MediaWiki\Session\SessionManager;
use MediaWiki\User\UserIdentity;
+use MWException;
use Wikimedia\IPUtils;
// The point of this class is to be a wrapper around super globals
@@ -621,9 +620,7 @@ class WebRequest {
*/
public function getIntOrNull( $name ) {
$val = $this->getRawVal( $name );
- return is_numeric( $val )
- ? intval( $val )
- : null;
+ return is_numeric( $val ) ? intval( $val ) : null;
}
/**
@@ -926,9 +923,11 @@ class WebRequest {
}
} else {
// This shouldn't happen!
- throw new MWException( "Web server doesn't provide either " .
+ throw new MWException(
+ "Web server doesn't provide either " .
"REQUEST_URI, HTTP_X_ORIGINAL_URL or SCRIPT_NAME. Report details " .
- "of your web server configuration to https://phabricator.wikimedia.org/" );
+ "of your web server configuration to https://phabricator.wikimedia.org/"
+ );
}
// User-agents should not send a fragment with the URI, but
// if they do, and the web server passes it on to us, we
@@ -1463,3 +1462,8 @@ class WebRequest {
return false;
}
}
+
+/**
+ * @deprecated since 1.41
+ */
+class_alias( WebRequest::class, 'WebRequest' );
diff --git a/includes/Request/WebRequestUpload.php b/includes/Request/WebRequestUpload.php
index 256653f2c7c7..a25237b32772 100644
--- a/includes/Request/WebRequestUpload.php
+++ b/includes/Request/WebRequestUpload.php
@@ -24,7 +24,6 @@ namespace MediaWiki\Request;
use MediaWiki\MediaWikiServices;
use Sanitizer;
-use WebRequest;
// The point of this class is to be a wrapper around super globals
// phpcs:disable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals
diff --git a/includes/ResourceLoader/Context.php b/includes/ResourceLoader/Context.php
index b602ae0c582b..d28c0811c381 100644
--- a/includes/ResourceLoader/Context.php
+++ b/includes/ResourceLoader/Context.php
@@ -26,6 +26,7 @@ use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReferenceValue;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserRigorOptions;
use Message;
@@ -33,7 +34,6 @@ use MessageLocalizer;
use MessageSpecifier;
use Psr\Log\LoggerInterface;
use User;
-use WebRequest;
/**
* Context object that contains information about the state of a specific
diff --git a/includes/ResourceLoader/DerivativeContext.php b/includes/ResourceLoader/DerivativeContext.php
index 0744e4238a41..756dc37271cd 100644
--- a/includes/ResourceLoader/DerivativeContext.php
+++ b/includes/ResourceLoader/DerivativeContext.php
@@ -22,10 +22,10 @@
namespace MediaWiki\ResourceLoader;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserRigorOptions;
use User;
-use WebRequest;
/**
* A mutable version of Context.
diff --git a/includes/ResourceLoader/ResourceLoader.php b/includes/ResourceLoader/ResourceLoader.php
index 344a1e3459f9..33ce2660da67 100644
--- a/includes/ResourceLoader/ResourceLoader.php
+++ b/includes/ResourceLoader/ResourceLoader.php
@@ -42,6 +42,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Output\OutputPage;
use MediaWiki\Profiler\ProfilingContext;
use MediaWiki\Request\HeaderCallback;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use MediaWiki\User\UserOptionsLookup;
use MediaWiki\WikiMap\WikiMap;
@@ -56,7 +57,6 @@ use RuntimeException;
use stdClass;
use Throwable;
use UnexpectedValueException;
-use WebRequest;
use Wikimedia\DependencyStore\DependencyStore;
use Wikimedia\DependencyStore\KeyValueDependencyStore;
use Wikimedia\Minify\CSSMin;
@@ -864,7 +864,6 @@ class ResourceLoader implements LoggerAwareInterface {
}
}
- // @phan-suppress-next-line SecurityCheck-XSS
echo $response;
}
@@ -1892,6 +1891,8 @@ MESSAGE;
public static function inDebugMode() {
if ( self::$debugMode === null ) {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
$resourceLoaderDebug = MediaWikiServices::getInstance()->getMainConfig()->get(
MainConfigNames::ResourceLoaderDebug );
$str = $wgRequest->getRawVal( 'debug',
diff --git a/includes/Rest/EntryPoint.php b/includes/Rest/EntryPoint.php
index 308b601b88ad..007ee12f4080 100644
--- a/includes/Rest/EntryPoint.php
+++ b/includes/Rest/EntryPoint.php
@@ -99,6 +99,7 @@ class EntryPoint {
public static function main() {
// URL safety checks
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
$context = RequestContext::getMain();
diff --git a/includes/Rest/RequestFromGlobals.php b/includes/Rest/RequestFromGlobals.php
index c8e79dbda02f..fd7ddcd9939d 100644
--- a/includes/Rest/RequestFromGlobals.php
+++ b/includes/Rest/RequestFromGlobals.php
@@ -33,7 +33,7 @@ class RequestFromGlobals extends RequestBase {
public function getUri() {
if ( $this->uri === null ) {
- $requestUrl = \WebRequest::getGlobalRequestURL();
+ $requestUrl = \MediaWiki\Request\WebRequest::getGlobalRequestURL();
try {
$uriInstance = new Uri( $requestUrl );
diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php
index 7f4cef453727..bbfb1c9125f2 100644
--- a/includes/ServiceWiring.php
+++ b/includes/ServiceWiring.php
@@ -148,6 +148,7 @@ use MediaWiki\Preferences\PreferencesFactory;
use MediaWiki\Preferences\SignatureValidator;
use MediaWiki\Preferences\SignatureValidatorFactory;
use MediaWiki\Request\ProxyLookup;
+use MediaWiki\Request\WebRequest;
use MediaWiki\ResourceLoader\MessageBlobStore;
use MediaWiki\ResourceLoader\ResourceLoader;
use MediaWiki\Rest\Handler\Helper\PageRestHelperFactory;
diff --git a/includes/Setup.php b/includes/Setup.php
index 974a24a9d004..baefb47973b9 100644
--- a/includes/Setup.php
+++ b/includes/Setup.php
@@ -426,6 +426,8 @@ if ( $wgRequest->getCookie( 'UseDC', '' ) === 'master' ) {
// Useful debug output
( static function () {
global $wgCommandLineMode, $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
$logger = LoggerFactory::getInstance( 'wfDebug' );
if ( $wgCommandLineMode ) {
$self = $_SERVER['PHP_SELF'] ?? '';
diff --git a/includes/actions/Action.php b/includes/actions/Action.php
index 0bbf1789382d..07a7afbe554f 100644
--- a/includes/actions/Action.php
+++ b/includes/actions/Action.php
@@ -24,6 +24,7 @@ use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MediaWikiServices;
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
/**
diff --git a/includes/actions/HistoryAction.php b/includes/actions/HistoryAction.php
index b6fbae0d6416..7e76524d6e95 100644
--- a/includes/actions/HistoryAction.php
+++ b/includes/actions/HistoryAction.php
@@ -28,6 +28,7 @@ use MediaWiki\Feed\RSSFeed;
use MediaWiki\Html\Html;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Utils\MWTimestamp;
use Wikimedia\Rdbms\FakeResultWrapper;
use Wikimedia\Rdbms\IResultWrapper;
diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php
index c939a2b1accb..278d4044fe08 100644
--- a/includes/api/ApiMain.php
+++ b/includes/api/ApiMain.php
@@ -30,6 +30,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\ParamValidator\TypeDef\UserDef;
use MediaWiki\Profiler\ProfilingContext;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Request\WebRequestUpload;
use MediaWiki\Rest\HeaderParser\Origin;
use MediaWiki\Session\SessionManager;
diff --git a/includes/api/Hook/RequestHasSameOriginSecurityHook.php b/includes/api/Hook/RequestHasSameOriginSecurityHook.php
index 1b2584133a9a..6ca5365da64b 100644
--- a/includes/api/Hook/RequestHasSameOriginSecurityHook.php
+++ b/includes/api/Hook/RequestHasSameOriginSecurityHook.php
@@ -2,7 +2,7 @@
namespace MediaWiki\Api\Hook;
-use WebRequest;
+use MediaWiki\Request\WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/auth/AuthManager.php b/includes/auth/AuthManager.php
index 3d47e9746b12..1886544192ab 100644
--- a/includes/auth/AuthManager.php
+++ b/includes/auth/AuthManager.php
@@ -33,6 +33,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\Page\PageIdentity;
use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\PermissionStatus;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use MediaWiki\User\BotPasswordStore;
use MediaWiki\User\TempUser\TempUserCreator;
@@ -49,7 +50,6 @@ use Psr\Log\NullLogger;
use SpecialPage;
use StatusValue;
use User;
-use WebRequest;
use Wikimedia\ObjectFactory\ObjectFactory;
use Wikimedia\Rdbms\ILoadBalancer;
use Wikimedia\Rdbms\ReadOnlyMode;
diff --git a/includes/block/BlockManager.php b/includes/block/BlockManager.php
index 806b7bf21475..263eb3058fd6 100644
--- a/includes/block/BlockManager.php
+++ b/includes/block/BlockManager.php
@@ -26,6 +26,7 @@ use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\PermissionManager;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Request\WebResponse;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserIdentity;
@@ -34,7 +35,6 @@ use Message;
use MWCryptHash;
use Psr\Log\LoggerInterface;
use User;
-use WebRequest;
use Wikimedia\IPSet;
use Wikimedia\IPUtils;
diff --git a/includes/cache/FileCacheBase.php b/includes/cache/FileCacheBase.php
index 8257597f8606..7eeda2157f9d 100644
--- a/includes/cache/FileCacheBase.php
+++ b/includes/cache/FileCacheBase.php
@@ -24,6 +24,7 @@
use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use Wikimedia\AtEase\AtEase;
use Wikimedia\IPUtils;
diff --git a/includes/changes/RecentChange.php b/includes/changes/RecentChange.php
index 61b1407aef1a..ca1e0b5c82ab 100644
--- a/includes/changes/RecentChange.php
+++ b/includes/changes/RecentChange.php
@@ -905,8 +905,11 @@ class RecentChange implements Taggable {
public static function newLogEntry( $timestamp,
$logPage, $user, $actionComment, $ip,
$type, $action, $target, $logComment, $params, $newId = 0, $actionCommentIRC = '',
- $revId = 0, $isPatrollable = false, $forceBotFlag = null ) {
+ $revId = 0, $isPatrollable = false, $forceBotFlag = null
+ ) {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
$permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
# # Get pageStatus for email notification
@@ -1228,6 +1231,8 @@ class RecentChange implements Taggable {
private static function checkIPAddress( $ip ) {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
if ( $ip ) {
if ( !IPUtils::isIPAddress( $ip ) ) {
throw new RuntimeException( "Attempt to write \"" . $ip .
diff --git a/includes/context/ContextSource.php b/includes/context/ContextSource.php
index d69768ab7c17..22bbb1d41645 100644
--- a/includes/context/ContextSource.php
+++ b/includes/context/ContextSource.php
@@ -20,6 +20,7 @@
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\CsrfTokenSet;
use MediaWiki\Title\Title;
use Wikimedia\NonSerializable\NonSerializableTrait;
diff --git a/includes/context/DerivativeContext.php b/includes/context/DerivativeContext.php
index 52707c87c185..7aa1262ce044 100644
--- a/includes/context/DerivativeContext.php
+++ b/includes/context/DerivativeContext.php
@@ -21,6 +21,7 @@
use MediaWiki\MediaWikiServices;
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use Wikimedia\Assert\Assert;
diff --git a/includes/context/IContextSource.php b/includes/context/IContextSource.php
index acc7af125bf8..8d3533b85fa8 100644
--- a/includes/context/IContextSource.php
+++ b/includes/context/IContextSource.php
@@ -20,6 +20,7 @@
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\CsrfTokenSetProvider;
use MediaWiki\Title\Title;
diff --git a/includes/context/MutableContext.php b/includes/context/MutableContext.php
index c494a54e2ea7..d03e40921443 100644
--- a/includes/context/MutableContext.php
+++ b/includes/context/MutableContext.php
@@ -20,6 +20,7 @@
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
/**
diff --git a/includes/context/RequestContext.php b/includes/context/RequestContext.php
index 03dd1e7f5a75..6e5306ea9265 100644
--- a/includes/context/RequestContext.php
+++ b/includes/context/RequestContext.php
@@ -29,6 +29,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\CsrfTokenSet;
use MediaWiki\StubObject\StubGlobalUser;
use MediaWiki\Title\Title;
diff --git a/includes/debug/logger/monolog/WikiProcessor.php b/includes/debug/logger/monolog/WikiProcessor.php
index 3dad04baf7d4..6ffde6f8cc8b 100644
--- a/includes/debug/logger/monolog/WikiProcessor.php
+++ b/includes/debug/logger/monolog/WikiProcessor.php
@@ -39,7 +39,7 @@ class WikiProcessor {
$record['extra']['host'] = wfHostname();
$record['extra']['wiki'] = WikiMap::getCurrentWikiId();
$record['extra']['mwversion'] = MW_VERSION;
- $record['extra']['reqId'] = \WebRequest::getRequestId();
+ $record['extra']['reqId'] = \MediaWiki\Request\WebRequest::getRequestId();
if ( wfIsCLI() && isset( $_SERVER['argv'] ) ) {
$record['extra']['cli_argv'] = implode( ' ', $_SERVER['argv'] );
}
diff --git a/includes/editpage/EditPage.php b/includes/editpage/EditPage.php
index 3b7bab903b1f..c4c910f90902 100644
--- a/includes/editpage/EditPage.php
+++ b/includes/editpage/EditPage.php
@@ -74,6 +74,7 @@ use MediaWiki\Page\WikiPageFactory;
use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\PermissionManager;
use MediaWiki\Permissions\RestrictionStore;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\RevisionStoreRecord;
@@ -113,7 +114,6 @@ use User;
use UserBlockedError;
use WatchAction;
use WatchedItemStoreInterface;
-use WebRequest;
use Wikimedia\Assert\Assert;
use Wikimedia\Message\MessageValue;
use Wikimedia\ParamValidator\TypeDef\ExpiryDef;
diff --git a/includes/exception/MWException.php b/includes/exception/MWException.php
index 0dd29154ac1f..42e2af0d5933 100644
--- a/includes/exception/MWException.php
+++ b/includes/exception/MWException.php
@@ -19,6 +19,7 @@
*/
use MediaWiki\Html\Html;
+use MediaWiki\Request\WebRequest;
/**
* MediaWiki exception
diff --git a/includes/exception/MWExceptionHandler.php b/includes/exception/MWExceptionHandler.php
index 9f8c4f6fc5ee..569657603fe2 100644
--- a/includes/exception/MWExceptionHandler.php
+++ b/includes/exception/MWExceptionHandler.php
@@ -22,6 +22,7 @@ use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use Psr\Log\LogLevel;
use Wikimedia\NormalizedException\INormalizedException;
use Wikimedia\Rdbms\DBError;
@@ -510,6 +511,8 @@ TXT;
*/
public static function getURL() {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
if ( !isset( $wgRequest ) || $wgRequest instanceof FauxRequest ) {
return false;
}
diff --git a/includes/exception/MWExceptionRenderer.php b/includes/exception/MWExceptionRenderer.php
index 962f1b34de0c..e4270c51d457 100644
--- a/includes/exception/MWExceptionRenderer.php
+++ b/includes/exception/MWExceptionRenderer.php
@@ -21,6 +21,7 @@
use MediaWiki\Html\Html;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use Wikimedia\AtEase;
use Wikimedia\Rdbms\DBConnectionError;
use Wikimedia\Rdbms\DBExpectedError;
diff --git a/includes/htmlform/HTMLFormField.php b/includes/htmlform/HTMLFormField.php
index 69b9de7201a6..b0f3de8797d8 100644
--- a/includes/htmlform/HTMLFormField.php
+++ b/includes/htmlform/HTMLFormField.php
@@ -2,6 +2,7 @@
use MediaWiki\Html\Html;
use MediaWiki\Linker\Linker;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
/**
diff --git a/includes/htmlform/fields/HTMLCheckField.php b/includes/htmlform/fields/HTMLCheckField.php
index d5b05349645e..80365e7d8a2d 100644
--- a/includes/htmlform/fields/HTMLCheckField.php
+++ b/includes/htmlform/fields/HTMLCheckField.php
@@ -2,6 +2,7 @@
use MediaWiki\Html\Html;
use MediaWiki\MainConfigNames;
+use MediaWiki\Request\WebRequest;
/**
* A checkbox field
diff --git a/includes/htmlform/fields/HTMLCheckMatrix.php b/includes/htmlform/fields/HTMLCheckMatrix.php
index 46ee6c234e7d..99b969194c0d 100644
--- a/includes/htmlform/fields/HTMLCheckMatrix.php
+++ b/includes/htmlform/fields/HTMLCheckMatrix.php
@@ -2,6 +2,7 @@
use MediaWiki\Html\Html;
use MediaWiki\MainConfigNames;
+use MediaWiki\Request\WebRequest;
/**
* A checkbox matrix
diff --git a/includes/htmlform/fields/HTMLMultiSelectField.php b/includes/htmlform/fields/HTMLMultiSelectField.php
index 778073aaa3e3..1588badf2a01 100644
--- a/includes/htmlform/fields/HTMLMultiSelectField.php
+++ b/includes/htmlform/fields/HTMLMultiSelectField.php
@@ -2,6 +2,7 @@
use MediaWiki\Html\Html;
use MediaWiki\MainConfigNames;
+use MediaWiki\Request\WebRequest;
/**
* Multi-select field
diff --git a/includes/htmlform/fields/HTMLRestrictionsField.php b/includes/htmlform/fields/HTMLRestrictionsField.php
index a77fa82a98e0..2c82d350d14b 100644
--- a/includes/htmlform/fields/HTMLRestrictionsField.php
+++ b/includes/htmlform/fields/HTMLRestrictionsField.php
@@ -1,5 +1,6 @@
<?php
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use Wikimedia\IPUtils;
diff --git a/includes/htmlform/fields/HTMLSelectAndOtherField.php b/includes/htmlform/fields/HTMLSelectAndOtherField.php
index 6189bfebe43d..fb86fd788474 100644
--- a/includes/htmlform/fields/HTMLSelectAndOtherField.php
+++ b/includes/htmlform/fields/HTMLSelectAndOtherField.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Html\Html;
+use MediaWiki\Request\WebRequest;
/**
* Double field with a dropdown list constructed from a system message in the format
diff --git a/includes/htmlform/fields/HTMLSelectOrOtherField.php b/includes/htmlform/fields/HTMLSelectOrOtherField.php
index 7e70019a484b..ffb814babb6b 100644
--- a/includes/htmlform/fields/HTMLSelectOrOtherField.php
+++ b/includes/htmlform/fields/HTMLSelectOrOtherField.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Html\Html;
+use MediaWiki\Request\WebRequest;
/**
* Select dropdown field, with an additional "other" textbox.
diff --git a/includes/htmlform/fields/HTMLSizeFilterField.php b/includes/htmlform/fields/HTMLSizeFilterField.php
index b5b2dd3bfa6c..4e274ea15081 100644
--- a/includes/htmlform/fields/HTMLSizeFilterField.php
+++ b/includes/htmlform/fields/HTMLSizeFilterField.php
@@ -1,5 +1,7 @@
<?php
+use MediaWiki\Request\WebRequest;
+
/**
* A size filter field for use on query-type special pages. It looks a bit like:
*
diff --git a/includes/http/HttpRequestFactory.php b/includes/http/HttpRequestFactory.php
index 38ebc0556430..07d26953a03b 100644
--- a/includes/http/HttpRequestFactory.php
+++ b/includes/http/HttpRequestFactory.php
@@ -96,7 +96,7 @@ class HttpRequestFactory {
* - originalRequest Information about the original request (as a WebRequest object or
* an associative array with 'ip' and 'userAgent').
* @phpcs:ignore Generic.Files.LineLength
- * @phan-param array{timeout?:int|string,connectTimeout?:int|string,postData?:string|array,proxy?:?string,noProxy?:bool,sslVerifyHost?:bool,sslVerifyCert?:bool,caInfo?:?string,maxRedirects?:int,followRedirects?:bool,userAgent?:string,method?:string,logger?:\Psr\Log\LoggerInterface,username?:string,password?:string,originalRequest?:\WebRequest|array{ip:string,userAgent:string}} $options
+ * @phan-param array{timeout?:int|string,connectTimeout?:int|string,postData?:string|array,proxy?:?string,noProxy?:bool,sslVerifyHost?:bool,sslVerifyCert?:bool,caInfo?:?string,maxRedirects?:int,followRedirects?:bool,userAgent?:string,method?:string,logger?:\Psr\Log\LoggerInterface,username?:string,password?:string,originalRequest?:\MediaWiki\Request\WebRequest|array{ip:string,userAgent:string}} $options
* @param string $caller The method making this request, for profiling
* @return MWHttpRequest
* @see MWHttpRequest::__construct
diff --git a/includes/http/MWHttpRequest.php b/includes/http/MWHttpRequest.php
index fbffcfb87b3d..b1e997592b4a 100644
--- a/includes/http/MWHttpRequest.php
+++ b/includes/http/MWHttpRequest.php
@@ -21,6 +21,7 @@
use MediaWiki\Http\Telemetry;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
diff --git a/includes/installer/DatabaseInstaller.php b/includes/installer/DatabaseInstaller.php
index 28881bcfa56c..201fc9acf3ed 100644
--- a/includes/installer/DatabaseInstaller.php
+++ b/includes/installer/DatabaseInstaller.php
@@ -414,7 +414,6 @@ abstract class DatabaseInstaller {
/**
* Perform database upgrades
*
- * @suppress SecurityCheck-XSS Escaping provided by $this->outputHandler
* @return bool
*/
public function doUpgrade() {
diff --git a/includes/installer/InstallerOverrides.php b/includes/installer/InstallerOverrides.php
index 2d9b0af72a9c..ceebadc38b8d 100644
--- a/includes/installer/InstallerOverrides.php
+++ b/includes/installer/InstallerOverrides.php
@@ -20,6 +20,8 @@
* @file
*/
+use MediaWiki\Request\WebRequest;
+
/**
* @since 1.20
*/
diff --git a/includes/installer/InstallerSessionProvider.php b/includes/installer/InstallerSessionProvider.php
index 7234767b3eb6..8cda18a62795 100644
--- a/includes/installer/InstallerSessionProvider.php
+++ b/includes/installer/InstallerSessionProvider.php
@@ -23,6 +23,7 @@
* @ingroup Installer
*/
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionBackend;
use MediaWiki\Session\SessionInfo;
use MediaWiki\Session\SessionProvider;
diff --git a/includes/installer/WebInstaller.php b/includes/installer/WebInstaller.php
index ac03b7d11817..227c2e6e98f4 100644
--- a/includes/installer/WebInstaller.php
+++ b/includes/installer/WebInstaller.php
@@ -24,6 +24,7 @@
use MediaWiki\Html\Html;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
/**
@@ -524,6 +525,7 @@ class WebInstaller extends Installer {
*/
public function getAcceptLanguage() {
global $wgLanguageCode, $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
$mwLanguages = MediaWikiServices::getInstance()
->getLanguageNameUtils()
diff --git a/includes/jobqueue/Job.php b/includes/jobqueue/Job.php
index 679814c83b23..eec212c5fd5c 100644
--- a/includes/jobqueue/Job.php
+++ b/includes/jobqueue/Job.php
@@ -23,6 +23,7 @@
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReference;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
/**
diff --git a/includes/language/LanguageConverter.php b/includes/language/LanguageConverter.php
index 27b07c01b882..6341aab90ed7 100644
--- a/includes/language/LanguageConverter.php
+++ b/includes/language/LanguageConverter.php
@@ -421,6 +421,7 @@ abstract class LanguageConverter implements ILanguageConverter {
*/
public function getURLVariant() {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
if ( $this->mURLVariant ) {
return $this->mURLVariant;
@@ -482,6 +483,7 @@ abstract class LanguageConverter implements ILanguageConverter {
*/
protected function getHeaderVariant() {
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
if ( $this->mHeaderVariant ) {
return $this->mHeaderVariant;
@@ -1052,6 +1054,8 @@ abstract class LanguageConverter implements ILanguageConverter {
}
global $wgRequest;
+ '@phan-var \MediaWiki\Request\WebRequest $wgRequest';
+
$isredir = $wgRequest->getText( 'redirect', 'yes' );
$action = $wgRequest->getText( 'action' );
if ( $action == 'edit' && $wgRequest->getBool( 'redlink' ) ) {
diff --git a/includes/linkeddata/PageDataRequestHandler.php b/includes/linkeddata/PageDataRequestHandler.php
index 75bc3d3edfd6..b8a67285300c 100644
--- a/includes/linkeddata/PageDataRequestHandler.php
+++ b/includes/linkeddata/PageDataRequestHandler.php
@@ -20,6 +20,7 @@
use MediaWiki\MediaWikiServices;
use MediaWiki\Output\OutputPage;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\Title\Title;
use Wikimedia\Http\HttpAcceptNegotiator;
diff --git a/includes/page/ImagePage.php b/includes/page/ImagePage.php
index 1725be0a4df0..fb0b6f1aef2c 100644
--- a/includes/page/ImagePage.php
+++ b/includes/page/ImagePage.php
@@ -22,6 +22,7 @@ use MediaWiki\Html\Html;
use MediaWiki\Linker\Linker;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use MediaWiki\Title\TitleArray;
use Wikimedia\Rdbms\IResultWrapper;
diff --git a/includes/page/ProtectionForm.php b/includes/page/ProtectionForm.php
index ca140566514b..400835fd7447 100644
--- a/includes/page/ProtectionForm.php
+++ b/includes/page/ProtectionForm.php
@@ -41,10 +41,10 @@ use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\PermissionManager;
use MediaWiki\Permissions\PermissionStatus;
use MediaWiki\Permissions\RestrictionStore;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use MediaWiki\Watchlist\WatchlistManager;
use TitleFormatter;
-use WebRequest;
use Xml;
use XmlSelect;
diff --git a/includes/pager/IndexPager.php b/includes/pager/IndexPager.php
index 2262d0aa0abb..ddccaaea98e2 100644
--- a/includes/pager/IndexPager.php
+++ b/includes/pager/IndexPager.php
@@ -22,6 +22,7 @@ use MediaWiki\Html\Html;
use MediaWiki\Linker\LinkRenderer;
use MediaWiki\MediaWikiServices;
use MediaWiki\Navigation\PagerNavigationBuilder;
+use MediaWiki\Request\WebRequest;
use Wikimedia\Rdbms\IDatabase;
use Wikimedia\Rdbms\IResultWrapper;
diff --git a/includes/session/BotPasswordSessionProvider.php b/includes/session/BotPasswordSessionProvider.php
index a933ef08394d..660e593b0c28 100644
--- a/includes/session/BotPasswordSessionProvider.php
+++ b/includes/session/BotPasswordSessionProvider.php
@@ -26,8 +26,8 @@ namespace MediaWiki\Session;
use BotPassword;
use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\GrantsInfo;
+use MediaWiki\Request\WebRequest;
use User;
-use WebRequest;
/**
* Session provider for bot passwords
diff --git a/includes/session/CookieSessionProvider.php b/includes/session/CookieSessionProvider.php
index 8ae1b2580019..321ea3f67651 100644
--- a/includes/session/CookieSessionProvider.php
+++ b/includes/session/CookieSessionProvider.php
@@ -24,9 +24,9 @@
namespace MediaWiki\Session;
use MediaWiki\MainConfigNames;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserRigorOptions;
use User;
-use WebRequest;
/**
* A CookieSessionProvider persists sessions using cookies
@@ -328,7 +328,7 @@ class CookieSessionProvider extends SessionProvider {
/**
* Fetch the user identity from cookies
- * @param \WebRequest $request
+ * @param \MediaWiki\Request\WebRequest $request
* @return array (string|null $id, string|null $username, string|null $token)
*/
protected function getUserInfoFromCookies( $request ) {
@@ -342,7 +342,7 @@ class CookieSessionProvider extends SessionProvider {
/**
* Get a cookie. Contains an auth-specific hack.
- * @param \WebRequest $request
+ * @param \MediaWiki\Request\WebRequest $request
* @param string $key
* @param string $prefix
* @param mixed|null $default
diff --git a/includes/session/CsrfTokenSet.php b/includes/session/CsrfTokenSet.php
index ef1911864e77..d8f8171892fe 100644
--- a/includes/session/CsrfTokenSet.php
+++ b/includes/session/CsrfTokenSet.php
@@ -21,7 +21,7 @@
namespace MediaWiki\Session;
use LoggedOutEditToken;
-use WebRequest;
+use MediaWiki\Request\WebRequest;
/**
* Stores and matches CSRF tokens belonging to a given session user.
diff --git a/includes/session/Hook/SessionCheckInfoHook.php b/includes/session/Hook/SessionCheckInfoHook.php
index 2ee734273ed3..f54c2f12fa18 100644
--- a/includes/session/Hook/SessionCheckInfoHook.php
+++ b/includes/session/Hook/SessionCheckInfoHook.php
@@ -2,8 +2,8 @@
namespace MediaWiki\Session\Hook;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionInfo;
-use WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/session/Hook/SessionMetadataHook.php b/includes/session/Hook/SessionMetadataHook.php
index 0336f41d5e00..6f36228eaed8 100644
--- a/includes/session/Hook/SessionMetadataHook.php
+++ b/includes/session/Hook/SessionMetadataHook.php
@@ -2,8 +2,8 @@
namespace MediaWiki\Session\Hook;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionBackend;
-use WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/session/ImmutableSessionProviderWithCookie.php b/includes/session/ImmutableSessionProviderWithCookie.php
index da0d65a405c5..83e7f9f4cf05 100644
--- a/includes/session/ImmutableSessionProviderWithCookie.php
+++ b/includes/session/ImmutableSessionProviderWithCookie.php
@@ -24,7 +24,7 @@
namespace MediaWiki\Session;
use MediaWiki\MainConfigNames;
-use WebRequest;
+use MediaWiki\Request\WebRequest;
/**
* An ImmutableSessionProviderWithCookie doesn't persist the user, but
diff --git a/includes/session/Session.php b/includes/session/Session.php
index 3e1cb7184f67..bf855b63b10f 100644
--- a/includes/session/Session.php
+++ b/includes/session/Session.php
@@ -25,9 +25,9 @@ namespace MediaWiki\Session;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use Psr\Log\LoggerInterface;
use User;
-use WebRequest;
/**
* Manages data for an authenticated session
diff --git a/includes/session/SessionBackend.php b/includes/session/SessionBackend.php
index fd57d3291f8d..0bbf4b840d12 100644
--- a/includes/session/SessionBackend.php
+++ b/includes/session/SessionBackend.php
@@ -28,9 +28,9 @@ use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use Psr\Log\LoggerInterface;
use User;
-use WebRequest;
use Wikimedia\AtEase\AtEase;
/**
diff --git a/includes/session/SessionManager.php b/includes/session/SessionManager.php
index fbd60ac3cf00..3a7a4e010b5e 100644
--- a/includes/session/SessionManager.php
+++ b/includes/session/SessionManager.php
@@ -32,12 +32,12 @@ use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserNameUtils;
use MWException;
use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use User;
-use WebRequest;
/**
* This serves as the entry point to the MediaWiki session handling system.
diff --git a/includes/session/SessionManagerInterface.php b/includes/session/SessionManagerInterface.php
index a5eeba882175..54574eac75ff 100644
--- a/includes/session/SessionManagerInterface.php
+++ b/includes/session/SessionManagerInterface.php
@@ -23,9 +23,9 @@
namespace MediaWiki\Session;
+use MediaWiki\Request\WebRequest;
use Psr\Log\LoggerAwareInterface;
use User;
-use WebRequest;
/**
* This exists to make IDEs happy, so they don't see the
diff --git a/includes/session/SessionProvider.php b/includes/session/SessionProvider.php
index 1b6edfdb14cb..cb50f73c2166 100644
--- a/includes/session/SessionProvider.php
+++ b/includes/session/SessionProvider.php
@@ -28,10 +28,10 @@ use Language;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserNameUtils;
use Psr\Log\LoggerInterface;
use User;
-use WebRequest;
/**
* A SessionProvider provides SessionInfo and support for Session
diff --git a/includes/shell/ShellboxClientFactory.php b/includes/shell/ShellboxClientFactory.php
index d60b215cb95c..5f23dfae3ad8 100644
--- a/includes/shell/ShellboxClientFactory.php
+++ b/includes/shell/ShellboxClientFactory.php
@@ -5,11 +5,11 @@ namespace MediaWiki\Shell;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\RequestOptions;
use MediaWiki\Http\HttpRequestFactory;
+use MediaWiki\Request\WebRequest;
use RuntimeException;
use Shellbox\Client;
use Shellbox\RPC\LocalRpcClient;
use Shellbox\RPC\RpcClient;
-use WebRequest;
/**
* This is a service which provides a configured client to access a remote
diff --git a/includes/skins/components/SkinComponentUtils.php b/includes/skins/components/SkinComponentUtils.php
index 4f7359cc7f1e..30d8a3a23fd7 100644
--- a/includes/skins/components/SkinComponentUtils.php
+++ b/includes/skins/components/SkinComponentUtils.php
@@ -3,9 +3,9 @@
namespace MediaWiki\Skin;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use SpecialPage;
-use WebRequest;
class SkinComponentUtils {
/**
diff --git a/includes/specialpage/AuthManagerSpecialPage.php b/includes/specialpage/AuthManagerSpecialPage.php
index 5e14e9de4c37..6cc49645f6f7 100644
--- a/includes/specialpage/AuthManagerSpecialPage.php
+++ b/includes/specialpage/AuthManagerSpecialPage.php
@@ -6,6 +6,7 @@ use MediaWiki\Auth\AuthManager;
use MediaWiki\Language\RawMessage;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Request\DerivativeRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\Token;
use MediaWiki\Status\Status;
diff --git a/includes/specialpage/SpecialPage.php b/includes/specialpage/SpecialPage.php
index 067c63ca3470..861638864954 100644
--- a/includes/specialpage/SpecialPage.php
+++ b/includes/specialpage/SpecialPage.php
@@ -30,6 +30,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Navigation\PagerNavigationBuilder;
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\SpecialPage\SpecialPageFactory;
use MediaWiki\Title\Title;
diff --git a/includes/specials/Hook/SpecialLogAddLogSearchRelationsHook.php b/includes/specials/Hook/SpecialLogAddLogSearchRelationsHook.php
index 92214b257670..989a17b17988 100644
--- a/includes/specials/Hook/SpecialLogAddLogSearchRelationsHook.php
+++ b/includes/specials/Hook/SpecialLogAddLogSearchRelationsHook.php
@@ -2,7 +2,7 @@
namespace MediaWiki\Hook;
-use WebRequest;
+use MediaWiki\Request\WebRequest;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/specials/SpecialBlock.php b/includes/specials/SpecialBlock.php
index 3d230c783d7e..6a180926cff8 100644
--- a/includes/specials/SpecialBlock.php
+++ b/includes/specials/SpecialBlock.php
@@ -46,6 +46,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReference;
use MediaWiki\Page\PageReferenceValue;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\User\UserIdentity;
@@ -60,7 +61,6 @@ use OOUI\Widget;
use SpecialPage;
use TitleFormatter;
use User;
-use WebRequest;
use Wikimedia\IPUtils;
use XmlSelect;
diff --git a/includes/specials/SpecialEditWatchlist.php b/includes/specials/SpecialEditWatchlist.php
index 550ec0d9cc80..8036804a937e 100644
--- a/includes/specials/SpecialEditWatchlist.php
+++ b/includes/specials/SpecialEditWatchlist.php
@@ -43,6 +43,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\WikiPageFactory;
use MediaWiki\Parser\ParserOutputFlags;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\Watchlist\WatchlistManager;
@@ -58,7 +59,6 @@ use UnlistedSpecialPage;
use UserNotLoggedIn;
use WatchedItemStore;
use WatchedItemStoreInterface;
-use WebRequest;
use Wikimedia\Parsoid\Core\SectionMetadata;
use Wikimedia\Parsoid\Core\TOCData;
diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php
index b3b0877a6ca5..20541c43a0c7 100644
--- a/includes/specials/SpecialSearch.php
+++ b/includes/specials/SpecialSearch.php
@@ -29,6 +29,7 @@ use MediaWiki\Interwiki\InterwikiLookup;
use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\Output\OutputPage;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Search\SearchResultThumbnailProvider;
use MediaWiki\Search\SearchWidgets\BasicSearchResultSetWidget;
use MediaWiki\Search\SearchWidgets\FullSearchResultWidget;
diff --git a/includes/specials/SpecialUnblock.php b/includes/specials/SpecialUnblock.php
index 7dbfac20bae6..fffcca4face7 100644
--- a/includes/specials/SpecialUnblock.php
+++ b/includes/specials/SpecialUnblock.php
@@ -24,6 +24,7 @@
use MediaWiki\Block\BlockUtils;
use MediaWiki\Block\DatabaseBlock;
use MediaWiki\Block\UnblockUserFactory;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserNamePrefixSearch;
diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php
index 17d12d9ae3b8..51f7b310be8b 100644
--- a/includes/specials/SpecialUpload.php
+++ b/includes/specials/SpecialUpload.php
@@ -27,6 +27,7 @@ use MediaWiki\Html\Html;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use MediaWiki\User\UserOptionsLookup;
use MediaWiki\Watchlist\WatchlistManager;
diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php
index d29cbfe2c7f0..e5be895a6c47 100644
--- a/includes/upload/UploadBase.php
+++ b/includes/upload/UploadBase.php
@@ -27,6 +27,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\PermissionStatus;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Shell\Shell;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
diff --git a/includes/upload/UploadFromFile.php b/includes/upload/UploadFromFile.php
index ac55ca1e130e..a9972c2d939f 100644
--- a/includes/upload/UploadFromFile.php
+++ b/includes/upload/UploadFromFile.php
@@ -21,6 +21,7 @@
* @ingroup Upload
*/
+use MediaWiki\Request\WebRequest;
use MediaWiki\Request\WebRequestUpload;
/**
diff --git a/includes/upload/UploadFromStash.php b/includes/upload/UploadFromStash.php
index 91f6f00f09fe..e583569e3849 100644
--- a/includes/upload/UploadFromStash.php
+++ b/includes/upload/UploadFromStash.php
@@ -22,6 +22,7 @@
*/
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\User\UserIdentity;
/**
diff --git a/includes/upload/UploadFromUrl.php b/includes/upload/UploadFromUrl.php
index cf1e66414ceb..019e703d53a9 100644
--- a/includes/upload/UploadFromUrl.php
+++ b/includes/upload/UploadFromUrl.php
@@ -25,6 +25,7 @@ use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
/**
diff --git a/includes/user/BotPassword.php b/includes/user/BotPassword.php
index 3baa6b913d44..1e4bdff26816 100644
--- a/includes/user/BotPassword.php
+++ b/includes/user/BotPassword.php
@@ -23,6 +23,7 @@ use MediaWiki\Auth\Throttler;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\BotPasswordSessionProvider;
use MediaWiki\Session\SessionManager;
use MediaWiki\Status\Status;
diff --git a/includes/user/TempUser/TempUserCreator.php b/includes/user/TempUser/TempUserCreator.php
index 2300c4916cb7..1f4a282482a2 100644
--- a/includes/user/TempUser/TempUserCreator.php
+++ b/includes/user/TempUser/TempUserCreator.php
@@ -6,11 +6,11 @@ use ExtensionRegistry;
use MediaWiki\Auth\AuthManager;
use MediaWiki\Auth\Throttler;
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\Session;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserRigorOptions;
use UnexpectedValueException;
-use WebRequest;
use Wikimedia\ObjectFactory\ObjectFactory;
/**
diff --git a/includes/user/User.php b/includes/user/User.php
index d78571d905e8..f0d8ae4d220f 100644
--- a/includes/user/User.php
+++ b/includes/user/User.php
@@ -38,6 +38,7 @@ use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\PermissionStatus;
use MediaWiki\Permissions\RateLimitSubject;
use MediaWiki\Permissions\UserAuthority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionManager;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
diff --git a/includes/utils/MWRestrictions.php b/includes/utils/MWRestrictions.php
index 072f2ae333e3..d15748b82118 100644
--- a/includes/utils/MWRestrictions.php
+++ b/includes/utils/MWRestrictions.php
@@ -18,6 +18,7 @@
* http://www.gnu.org/copyleft/gpl.html
*/
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use Wikimedia\IPSet;
use Wikimedia\IPUtils;
diff --git a/tests/phpunit/MediaWikiIntegrationTestCase.php b/tests/phpunit/MediaWikiIntegrationTestCase.php
index 362c93734f9d..e2c277936396 100644
--- a/tests/phpunit/MediaWikiIntegrationTestCase.php
+++ b/tests/phpunit/MediaWikiIntegrationTestCase.php
@@ -15,6 +15,7 @@ use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\UltimateAuthority;
use MediaWiki\Profiler\ProfilingContext;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\SiteStats\SiteStatsInit;
use MediaWiki\Storage\PageUpdateStatus;
diff --git a/tests/phpunit/includes/FauxRequestTest.php b/tests/phpunit/includes/FauxRequestTest.php
index d607010b4f0f..fb04f7d2b3d7 100644
--- a/tests/phpunit/includes/FauxRequestTest.php
+++ b/tests/phpunit/includes/FauxRequestTest.php
@@ -2,6 +2,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionManager;
class FauxRequestTest extends MediaWikiIntegrationTestCase {
diff --git a/tests/phpunit/includes/MediaWikiTest.php b/tests/phpunit/includes/MediaWikiTest.php
index 312eb945556c..2da51169f47d 100644
--- a/tests/phpunit/includes/MediaWikiTest.php
+++ b/tests/phpunit/includes/MediaWikiTest.php
@@ -2,6 +2,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Request\WebResponse;
use MediaWiki\Title\Title;
use Wikimedia\TestingAccessWrapper;
diff --git a/tests/phpunit/includes/OutputPageTest.php b/tests/phpunit/includes/OutputPageTest.php
index a9cee5d2ec0e..534e42b5b26e 100644
--- a/tests/phpunit/includes/OutputPageTest.php
+++ b/tests/phpunit/includes/OutputPageTest.php
@@ -12,6 +12,7 @@ use MediaWiki\Parser\ParserOutputFlags;
use MediaWiki\Permissions\Authority;
use MediaWiki\Request\ContentSecurityPolicy;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\ResourceLoader as RL;
use MediaWiki\ResourceLoader\ResourceLoader;
use MediaWiki\Tests\Unit\Permissions\MockAuthorityTrait;
diff --git a/tests/phpunit/includes/ResourceLoader/ContextTest.php b/tests/phpunit/includes/ResourceLoader/ContextTest.php
index 75e589f45992..bcfb755f0787 100644
--- a/tests/phpunit/includes/ResourceLoader/ContextTest.php
+++ b/tests/phpunit/includes/ResourceLoader/ContextTest.php
@@ -6,12 +6,12 @@ use EmptyResourceLoader;
use HashConfig;
use MediaWiki\MainConfigNames;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\ResourceLoader\Context;
use MediaWiki\ResourceLoader\ResourceLoader;
use MediaWikiCoversValidator;
use Message;
use User;
-use WebRequest;
/**
* See also:
diff --git a/tests/phpunit/includes/WebRequestTest.php b/tests/phpunit/includes/WebRequestTest.php
index 57e9c45e937f..f6f63c97fa26 100644
--- a/tests/phpunit/includes/WebRequestTest.php
+++ b/tests/phpunit/includes/WebRequestTest.php
@@ -2,6 +2,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\Request\ProxyLookup;
+use MediaWiki\Request\WebRequest;
/**
* @covers WebRequest
diff --git a/tests/phpunit/includes/actions/RollbackActionTest.php b/tests/phpunit/includes/actions/RollbackActionTest.php
index d990aefce5cd..fdd255f93fdf 100644
--- a/tests/phpunit/includes/actions/RollbackActionTest.php
+++ b/tests/phpunit/includes/actions/RollbackActionTest.php
@@ -6,12 +6,12 @@ use Article;
use DerivativeContext;
use ErrorPageError;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
use MediaWikiIntegrationTestCase;
use RequestContext;
use RollbackAction;
use User;
-use WebRequest;
/**
* @covers RollbackAction
diff --git a/tests/phpunit/includes/actions/WatchActionTest.php b/tests/phpunit/includes/actions/WatchActionTest.php
index f75499bf9923..a3cb7fb8c218 100644
--- a/tests/phpunit/includes/actions/WatchActionTest.php
+++ b/tests/phpunit/includes/actions/WatchActionTest.php
@@ -4,6 +4,7 @@ use MediaWiki\Language\RawMessage;
use MediaWiki\MainConfigNames;
use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\PermissionManager;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use MediaWiki\Tests\Unit\DummyServicesTrait;
use MediaWiki\Tests\Unit\Permissions\MockAuthorityTrait;
diff --git a/tests/phpunit/includes/api/ApiMainTest.php b/tests/phpunit/includes/api/ApiMainTest.php
index 53084c48cdf2..dfe303446cfe 100644
--- a/tests/phpunit/includes/api/ApiMainTest.php
+++ b/tests/phpunit/includes/api/ApiMainTest.php
@@ -5,6 +5,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\Authority;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Request\FauxResponse;
+use MediaWiki\Request\WebRequest;
use MediaWiki\StubObject\StubGlobalUser;
use MediaWiki\Tests\Unit\Permissions\MockAuthorityTrait;
use Wikimedia\Rdbms\DBConnRef;
diff --git a/tests/phpunit/includes/api/ApiTestContext.php b/tests/phpunit/includes/api/ApiTestContext.php
index 75a6c378c463..0ea64cc2e21a 100644
--- a/tests/phpunit/includes/api/ApiTestContext.php
+++ b/tests/phpunit/includes/api/ApiTestContext.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
class ApiTestContext extends RequestContext {
diff --git a/tests/phpunit/includes/auth/AuthManagerTest.php b/tests/phpunit/includes/auth/AuthManagerTest.php
index ce745d67723f..be6b042dfc3d 100644
--- a/tests/phpunit/includes/auth/AuthManagerTest.php
+++ b/tests/phpunit/includes/auth/AuthManagerTest.php
@@ -18,6 +18,7 @@ use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionInfo;
use MediaWiki\Session\UserInfo;
use MediaWiki\Status\Status;
@@ -35,7 +36,6 @@ use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use StatusValue;
use User;
-use WebRequest;
use Wikimedia\ObjectFactory\ObjectFactory;
use Wikimedia\Rdbms\ILoadBalancer;
use Wikimedia\Rdbms\ReadOnlyMode;
diff --git a/tests/phpunit/includes/block/BlockManagerTest.php b/tests/phpunit/includes/block/BlockManagerTest.php
index 924eeaf3d016..ba11484c96d2 100644
--- a/tests/phpunit/includes/block/BlockManagerTest.php
+++ b/tests/phpunit/includes/block/BlockManagerTest.php
@@ -7,6 +7,7 @@ use MediaWiki\Block\SystemBlock;
use MediaWiki\MainConfigNames;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Request\FauxResponse;
+use MediaWiki\Request\WebRequest;
use Psr\Log\NullLogger;
use Wikimedia\TestingAccessWrapper;
diff --git a/tests/phpunit/includes/jobqueue/JobRunnerTest.php b/tests/phpunit/includes/jobqueue/JobRunnerTest.php
index 8424b0403ee9..ae106a2470f8 100644
--- a/tests/phpunit/includes/jobqueue/JobRunnerTest.php
+++ b/tests/phpunit/includes/jobqueue/JobRunnerTest.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Page\DeletePage;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
/**
diff --git a/tests/phpunit/includes/jobqueue/JobTest.php b/tests/phpunit/includes/jobqueue/JobTest.php
index 987fda4a20c0..bc1a4d1cb53d 100644
--- a/tests/phpunit/includes/jobqueue/JobTest.php
+++ b/tests/phpunit/includes/jobqueue/JobTest.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\MainConfigNames;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Title\Title;
/**
diff --git a/tests/phpunit/includes/session/CsrfTokenSetTest.php b/tests/phpunit/includes/session/CsrfTokenSetTest.php
index fe2778e516d5..6a599f4b418c 100644
--- a/tests/phpunit/includes/session/CsrfTokenSetTest.php
+++ b/tests/phpunit/includes/session/CsrfTokenSetTest.php
@@ -2,11 +2,11 @@
namespace MediaWiki\Tests\Session;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\CsrfTokenSet;
use MediaWiki\Session\SessionManager;
use MediaWikiIntegrationTestCase;
use User;
-use WebRequest;
/**
* @covers \MediaWiki\Session\CsrfTokenSet
diff --git a/tests/phpunit/includes/specials/SpecialPageExecutor.php b/tests/phpunit/includes/specials/SpecialPageExecutor.php
index 66c956a7404d..8973a0dbb6e7 100644
--- a/tests/phpunit/includes/specials/SpecialPageExecutor.php
+++ b/tests/phpunit/includes/specials/SpecialPageExecutor.php
@@ -4,6 +4,7 @@ use MediaWiki\Output\OutputPage;
use MediaWiki\Permissions\Authority;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Request\FauxResponse;
+use MediaWiki\Request\WebRequest;
/**
* @author Addshore
diff --git a/tests/phpunit/includes/specials/SpecialPageTestBase.php b/tests/phpunit/includes/specials/SpecialPageTestBase.php
index 50af2bd22a35..8ca5792e27ab 100644
--- a/tests/phpunit/includes/specials/SpecialPageTestBase.php
+++ b/tests/phpunit/includes/specials/SpecialPageTestBase.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Permissions\Authority;
+use MediaWiki\Request\WebRequest;
/**
* Base class for testing special pages.
diff --git a/tests/phpunit/includes/user/PasswordResetTest.php b/tests/phpunit/includes/user/PasswordResetTest.php
index 68f24444049e..1ceb6c1c3cd1 100644
--- a/tests/phpunit/includes/user/PasswordResetTest.php
+++ b/tests/phpunit/includes/user/PasswordResetTest.php
@@ -6,6 +6,7 @@ use MediaWiki\Block\CompositeBlock;
use MediaWiki\Block\DatabaseBlock;
use MediaWiki\Block\SystemBlock;
use MediaWiki\Config\ServiceOptions;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use MediaWiki\Tests\Unit\DummyServicesTrait;
use MediaWiki\User\StaticUserOptionsLookup;
diff --git a/tests/phpunit/includes/user/UserGroupManagerTest.php b/tests/phpunit/includes/user/UserGroupManagerTest.php
index 184b166d8936..8c4c7d7811d9 100644
--- a/tests/phpunit/includes/user/UserGroupManagerTest.php
+++ b/tests/phpunit/includes/user/UserGroupManagerTest.php
@@ -27,6 +27,7 @@ use MediaWiki\Config\ServiceOptions;
use MediaWiki\Config\SiteConfiguration;
use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\SimpleAuthority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\PHPSessionHandler;
use MediaWiki\Session\SessionManager;
use MediaWiki\User\TempUser\RealTempUserConfig;
@@ -41,7 +42,6 @@ use PHPUnit\Framework\MockObject\Rule\InvokedCount;
use RequestContext;
use TestLogger;
use User;
-use WebRequest;
use Wikimedia\Assert\PreconditionException;
/**
diff --git a/tests/phpunit/includes/user/UserTest.php b/tests/phpunit/includes/user/UserTest.php
index 345985a5fa2d..d853d0a97ba1 100644
--- a/tests/phpunit/includes/user/UserTest.php
+++ b/tests/phpunit/includes/user/UserTest.php
@@ -9,6 +9,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\RateLimiter;
use MediaWiki\Permissions\RateLimitSubject;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Tests\Unit\DummyServicesTrait;
use MediaWiki\Title\Title;
use MediaWiki\User\UserIdentityValue;
diff --git a/tests/phpunit/mocks/session/DummySessionProvider.php b/tests/phpunit/mocks/session/DummySessionProvider.php
index 1d6047accb9d..4ba4c49468db 100644
--- a/tests/phpunit/mocks/session/DummySessionProvider.php
+++ b/tests/phpunit/mocks/session/DummySessionProvider.php
@@ -1,5 +1,6 @@
<?php
+use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionBackend;
use MediaWiki\Session\SessionInfo;
use MediaWiki\Session\SessionProvider;
diff --git a/tests/phpunit/structure/RestStructureTest.php b/tests/phpunit/structure/RestStructureTest.php
index 244b98a685f0..efb9587de37f 100644
--- a/tests/phpunit/structure/RestStructureTest.php
+++ b/tests/phpunit/structure/RestStructureTest.php
@@ -5,6 +5,7 @@ use MediaWiki\HookContainer\StaticHookRegistry;
use MediaWiki\MainConfigSchema;
use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\SimpleAuthority;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Rest\CorsUtils;
use MediaWiki\Rest\EntryPoint;
use MediaWiki\Rest\Handler;
diff --git a/tests/phpunit/unit/includes/DerivativeRequestTest.php b/tests/phpunit/unit/includes/DerivativeRequestTest.php
index 1ad709a03df7..7c233141d2dd 100644
--- a/tests/phpunit/unit/includes/DerivativeRequestTest.php
+++ b/tests/phpunit/unit/includes/DerivativeRequestTest.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Request\DerivativeRequest;
+use MediaWiki\Request\WebRequest;
/**
* @covers MediaWiki\Request\DerivativeRequest
diff --git a/tests/phpunit/unit/includes/Permissions/UserAuthorityTest.php b/tests/phpunit/unit/includes/Permissions/UserAuthorityTest.php
index 4e60e98549ba..f10a0e16023a 100644
--- a/tests/phpunit/unit/includes/Permissions/UserAuthorityTest.php
+++ b/tests/phpunit/unit/includes/Permissions/UserAuthorityTest.php
@@ -35,12 +35,12 @@ use MediaWiki\Permissions\RateLimiter;
use MediaWiki\Permissions\RateLimitSubject;
use MediaWiki\Permissions\UserAuthority;
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWikiUnitTestCase;
use Message;
use PHPUnit\Framework\MockObject\MockObject;
use StatusValue;
use User;
-use WebRequest;
/**
* @covers \MediaWiki\Permissions\UserAuthority
diff --git a/tests/phpunit/unit/includes/utils/MWRestrictionsTest.php b/tests/phpunit/unit/includes/utils/MWRestrictionsTest.php
index 08b8ba1681cf..550c3f8312a0 100644
--- a/tests/phpunit/unit/includes/utils/MWRestrictionsTest.php
+++ b/tests/phpunit/unit/includes/utils/MWRestrictionsTest.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\Request\FauxRequest;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
class MWRestrictionsTest extends MediaWikiUnitTestCase {
diff --git a/thumb.php b/thumb.php
index 77365f89aec2..3dc7d70db60e 100644
--- a/thumb.php
+++ b/thumb.php
@@ -29,6 +29,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\Profiler\ProfilingContext;
+use MediaWiki\Request\WebRequest;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use Wikimedia\AtEase\AtEase;