MediaWiki  master
MediaWiki Namespace Reference

A helper class for throttling authentication attempts. More...


 Copyright (C) 2018 Kunal Mehta


class  BadFileLookup
interface  Emptiable
 An interface to check for emptiness of an object. More...
class  ExtensionInfo
class  HeaderCallback
class  ProcOpenError
 @newable More...
class  ShellDisabledError
 @newable More...

Detailed Description

A helper class for throttling authentication attempts.

Service for looking up UserIdentity.

ActorStore factory for various domains.

Service for interacting with the actor table.

Simple in-memory cache for UserIdentity objects indexed by user ID, actor ID and user name.

Provides an instance of CsrfTokenSet.

Stores and matches CSRF tokens belonging to a given session user.

A handler base class which unpacks parameters from the path template and passes them as formal parameters to run().

A handler that returns Parsoid HTML for the following routes:

Class LanguageLinksHandler REST API handler for /page/{title}/links/language endpoint.

Wraps an array of BasicAuthorizerInterface and checks them all to authorize the request.

Lookup permissions for groups and groups with permissions.

Registry of flags used with ParserOutput::{get,set}OutputFlag() within MediaWiki core.

For observing and detecting parser behaviors, such as duplicate parses.

Returns an instance of the ParserCache by its name.

Logic for page rollbacks.

Convenience trait for conversion to PageIdentity.

Converts MessageValue message specifiers to localized plain text in a certain language.

Deserializes things from JSON.

Classes implementing this interface support round-trip JSON serialization/unserialization using the JsonUnserializer utility.

Serializes things to JSON.

Defines JSON-related constants.

Helper class to serialize/unserialize things to/from JSON.

Helper trait for implementations \DAO.

Class ContentHandlerFactory \Content.


Stability: stable
to type
1.36 \Json
Access: internal

The resulting JSON must be annotated with class information for unserialization to work. Use JsonUnserializableTrait in implementing classes which annotates the JSON automatically.

See also
1.36 \Json
1.36 \Json

The caller cannot modify the details of message translation, such as which of multiple sources the message is taken from. Any such flags may be injected into the factory constructor.

Implementations of TextFormatter are not required to perfectly format any message in any language. Implementations should make a best effort to produce human-readable text.


1.36 \Mail
1.37 \Page

For the cross-wiki aware code, this should be used instead of PageIdentity::getId until Title is dropped. Before transition to PageIdentity, Title could exist for foreign wikis with no indication about it (Title does not have $wikiId). It was very brittle, but it worked. Until Title is deprecated in the codebase, most of the PageIdentity instances passed around are Titles. So for cross-wiki access, stricter domain validation of PageIdentity::getId will break wikis.

Additionally, loose checks on Title regarding whether the page can exist or not have been depended upon in a number of places in the codebase.

This trait is only supposed to be used in cross-wiki aware code, and only exists until code up the stack is guaranteed not to pass Title.

Access: internal
1.38 \Page
1.36 \Parser
Access: internal

All flags used should be defined in this class.

It is recommended that new flag names in core should begin with 'mw-' in order to prevent namespace conflicts with legacy flags.


1.36 \Permissions
Access: internal


  • /page/{title}/html,
  • /page/{title}/with_html


  • /revision/{revision}/html,
  • /revision/{revision}/with_html

Class RevisionHTMLHandler \Rest\Handler

run() must be declared in the subclass. It cannot be declared as abstract here because it has a variable parameter list.

Stability: stable
to extend \Rest
1.37 \Session

We cannot just use MapCacheLRU for this because of eviction semantics: we need to be able to remove UserIdentity from the cache even if user ID or user name has changed, so we track the most accessed VALUES in the cache, not keys, and evict them alongside with all their indexes.

Access: internal
for use by ActorStore \User


1.37 \User\CentralId