'rsd' => 'ApiRsd',
'compare' => 'ApiComparePages',
'tokens' => 'ApiTokens',
+ 'checktoken' => 'ApiCheckToken',
// Write modules
'purge' => 'ApiPurge',
'options' => 'ApiOptions',
'imagerotate' => 'ApiImageRotate',
'revisiondelete' => 'ApiRevisionDelete',
+ 'managetags' => 'ApiManageTags',
);
/**
$uselang = $this->getParameter( 'uselang' );
if ( $uselang === 'user' ) {
- $uselang = $this->getUser()->getOption( 'language' );
- $uselang = RequestContext::sanitizeLangCode( $uselang );
- Hooks::run( 'UserGetLanguageObject', array( $this->getUser(), &$uselang, $this ) );
- } elseif ( $uselang === 'content' ) {
- global $wgContLang;
- $uselang = $wgContLang->getCode();
- }
- $code = RequestContext::sanitizeLangCode( $uselang );
- $this->getContext()->setLanguage( $code );
- if ( !$this->mInternalMode ) {
- global $wgLang;
- $wgLang = $this->getContext()->getLanguage();
- RequestContext::getMain()->setLanguage( $wgLang );
+ // Assume the parent context is going to return the user language
+ // for uselang=user (see T85635).
+ } else {
+ if ( $uselang === 'content' ) {
+ global $wgContLang;
+ $uselang = $wgContLang->getCode();
+ }
+ $code = RequestContext::sanitizeLangCode( $uselang );
+ $this->getContext()->setLanguage( $code );
+ if ( !$this->mInternalMode ) {
+ global $wgLang;
+ $wgLang = $this->getContext()->getLanguage();
+ RequestContext::getMain()->setLanguage( $wgLang );
+ }
}
$config = $this->getConfig();
$response->header( "Access-Control-Allow-Origin: $originHeader" );
$response->header( 'Access-Control-Allow-Credentials: true' );
+ $response->header( "Timing-Allow-Origin: $originHeader" ); # http://www.w3.org/TR/resource-timing/#timing-allow-origin
if ( !$preflight ) {
$response->header( 'Access-Control-Expose-Headers: MediaWiki-API-Error, Retry-After, X-Database-Lag' );