MediaWiki REL1_33
ApiErrorFormatter Class Reference

Formats errors and warnings for the API, and add them to the associated ApiResult. More...

Inheritance diagram for ApiErrorFormatter:
Collaboration diagram for ApiErrorFormatter:

Public Member Functions

 __construct (ApiResult $result, Language $lang, $format, $useDB=false)
 
 addError ( $modulePath, $msg, $code=null, $data=null)
 Add an error to the result.
 
 addMessagesFromStatus ( $modulePath, StatusValue $status, $types=[ 'warning', 'error'], array $filter=[])
 Add warnings and errors from a StatusValue object to the result.
 
 addWarning ( $modulePath, $msg, $code=null, $data=null)
 Add a warning to the result.
 
 arrayFromStatus (StatusValue $status, $type='error', $format=null)
 Format messages from a StatusValue as an array.
 
 formatException ( $exception, array $options=[])
 Format an exception as an array.
 
 formatMessage ( $msg, $format=null)
 Format a message as an array.
 
 getFormat ()
 Fetch the format for this formatter.
 
 getLanguage ()
 Fetch the Language for this formatter.
 
 getMessageFromException ( $exception, array $options=[])
 Get an ApiMessage from an exception.
 
 newWithFormat ( $format)
 Return a formatter like this one but with a different format.
 

Static Public Member Functions

static isValidApiCode ( $code)
 Test whether a code is a valid API error code.
 
static stripMarkup ( $text)
 Turn wikitext into something resembling plaintext.
 

Protected Member Functions

 addWarningOrError ( $tag, $modulePath, $msg)
 Actually add the warning or error to the result.
 
 formatMessageInternal ( $msg, $format)
 Format a message as an array.
 
 getDummyTitle ()
 Fetch a dummy title to set on Messages.
 

Protected Attributes

 $format = 'none'
 
Language $lang
 
ApiResult $result
 
 $useDB = false
 

Private Member Functions

 formatRawMessage (MessageSpecifier $msg)
 Format a Message object for raw format.
 

Static Private Attributes

static Title $dummyTitle = null
 Dummy title to silence warnings from MessageCache::parse()
 

Detailed Description

Formats errors and warnings for the API, and add them to the associated ApiResult.

Since
1.25

Definition at line 30 of file ApiErrorFormatter.php.

Constructor & Destructor Documentation

◆ __construct()

ApiErrorFormatter::__construct ( ApiResult $result,
Language $lang,
$format,
$useDB = false )
Parameters
ApiResult$resultInto which data will be added
Language$langUsed for i18n
string$format
  • plaintext: Error message as something vaguely like plaintext (it's basically wikitext with HTML tags stripped and entities decoded)
  • wikitext: Error message as wikitext
  • html: Error message as HTML
  • raw: Raw message key and parameters, no human-readable text
  • none: Code and data only, no human-readable text
bool$useDBWhether to use local translations for errors and warnings.

Definition at line 54 of file ApiErrorFormatter.php.

References $format, $lang, $result, and $useDB.

Member Function Documentation

◆ addError()

ApiErrorFormatter::addError ( $modulePath,
$msg,
$code = null,
$data = null )

Add an error to the result.

Parameters
string | null$modulePath
Message | array | string$msgWarning message. See ApiMessage::create().
string | null$codeSee ApiMessage::create().
array | null$dataSee ApiMessage::create().

Definition at line 143 of file ApiErrorFormatter.php.

References $code, $data, addWarningOrError(), ApiMessage\create(), and getDummyTitle().

◆ addMessagesFromStatus()

ApiErrorFormatter::addMessagesFromStatus ( $modulePath,
StatusValue $status,
$types = [ 'warning', 'error' ],
array $filter = [] )

Add warnings and errors from a StatusValue object to the result.

Parameters
string | null$modulePath
StatusValue$status
string[] | string$types'warning' and/or 'error'
string[]$filterMessages to filter out (since 1.33)

Definition at line 158 of file ApiErrorFormatter.php.

References $filter, addWarningOrError(), and(), array(), ApiMessage\create(), and getDummyTitle().

Referenced by arrayFromStatus().

◆ addWarning()

ApiErrorFormatter::addWarning ( $modulePath,
$msg,
$code = null,
$data = null )

Add a warning to the result.

Parameters
string | null$modulePath
Message | array | string$msgWarning message. See ApiMessage::create().
string | null$codeSee ApiMessage::create().
array | null$dataSee ApiMessage::create().

Definition at line 128 of file ApiErrorFormatter.php.

References $code, $data, addWarningOrError(), ApiMessage\create(), and getDummyTitle().

◆ addWarningOrError()

ApiErrorFormatter::addWarningOrError ( $tag,
$modulePath,
$msg )
protected

Actually add the warning or error to the result.

Parameters
string$tag'warning' or 'error'
string | null$modulePath
ApiMessage | ApiRawMessage$msg

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 373 of file ApiErrorFormatter.php.

References $value, ApiResult\ADD_ON_TOP, and(), formatMessageInternal(), and ApiResult\NO_SIZE_CHECK.

Referenced by addError(), addMessagesFromStatus(), and addWarning().

◆ arrayFromStatus()

ApiErrorFormatter::arrayFromStatus ( StatusValue $status,
$type = 'error',
$format = null )

Format messages from a StatusValue as an array.

Parameters
StatusValue$status
string$type'warning' or 'error'
string | null$format
Returns
array

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 265 of file ApiErrorFormatter.php.

References $format, $type, $useDB, addMessagesFromStatus(), and array().

◆ formatException()

ApiErrorFormatter::formatException ( $exception,
array $options = [] )

Format an exception as an array.

Since
1.29
Parameters
Exception | Throwable$exception
array$optionsSee self::getMessageFromException(), plus
  • format: (string) Format override
Returns
array

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 237 of file ApiErrorFormatter.php.

References $options, formatMessage(), and getMessageFromException().

◆ formatMessage()

ApiErrorFormatter::formatMessage ( $msg,
$format = null )

Format a message as an array.

Parameters
Message | array | string$msgMessage. See ApiMessage::create().
string | null$format
Returns
array

Definition at line 250 of file ApiErrorFormatter.php.

References $format, ApiMessage\create(), formatMessageInternal(), and getDummyTitle().

Referenced by formatException().

◆ formatMessageInternal()

ApiErrorFormatter::formatMessageInternal ( $msg,
$format )
protected

Format a message as an array.

Since
1.29
Parameters
ApiMessage | ApiRawMessage$msg
string | null$format
Returns
array

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 327 of file ApiErrorFormatter.php.

References $data, $format, $value, formatRawMessage(), ApiResult\META_CONTENT, ApiResult\META_TYPE, and stripMarkup().

Referenced by addWarningOrError(), and formatMessage().

◆ formatRawMessage()

ApiErrorFormatter::formatRawMessage ( MessageSpecifier $msg)
private

Format a Message object for raw format.

Parameters
MessageSpecifier$msg
Returns
array

Definition at line 304 of file ApiErrorFormatter.php.

References $ret, and(), formatRawMessage(), MessageSpecifier\getKey(), MessageSpecifier\getParams(), and ApiResult\setIndexedTagName().

Referenced by formatMessageInternal(), and formatRawMessage().

◆ getDummyTitle()

ApiErrorFormatter::getDummyTitle ( )
protected

Fetch a dummy title to set on Messages.

Returns
Title

Definition at line 114 of file ApiErrorFormatter.php.

References $dummyTitle, and NS_SPECIAL.

Referenced by addError(), addMessagesFromStatus(), addWarning(), formatMessage(), and getMessageFromException().

◆ getFormat()

ApiErrorFormatter::getFormat ( )

Fetch the format for this formatter.

Since
1.32
Returns
string

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 97 of file ApiErrorFormatter.php.

References $format.

◆ getLanguage()

ApiErrorFormatter::getLanguage ( )

Fetch the Language for this formatter.

Since
1.29
Returns
Language

Definition at line 106 of file ApiErrorFormatter.php.

References $lang.

◆ getMessageFromException()

ApiErrorFormatter::getMessageFromException ( $exception,
array $options = [] )

Get an ApiMessage from an exception.

Since
1.29
Parameters
Exception | Throwable$exception
array$options
  • wrap: (string|array|MessageSpecifier) Used to wrap the exception's message if it's not an ILocalizedException. The exception's message will be added as the final parameter.
  • code: (string) Default code
  • data: (array) Default extra data
Returns
IApiMessage

Definition at line 200 of file ApiErrorFormatter.php.

References $options, $params, and(), ApiMessage\create(), getDummyTitle(), and wfEscapeWikiText().

Referenced by formatException().

◆ isValidApiCode()

static ApiErrorFormatter::isValidApiCode ( $code)
static

Test whether a code is a valid API error code.

A valid code contains only ASCII letters, numbers, underscore, and hyphen and is not the empty string.

For backwards compatibility, any code beginning 'internal_api_error_' is also allowed.

Parameters
string$code
Returns
bool

Definition at line 73 of file ApiErrorFormatter.php.

References $code, and and().

Referenced by setApiCode(), ApiMain\substituteResultWithError(), and ApiErrorFormatterTest\testIsValidApiCode().

◆ newWithFormat()

ApiErrorFormatter::newWithFormat ( $format)

Return a formatter like this one but with a different format.

Since
1.32
Parameters
string$formatNew format.
Returns
ApiErrorFormatter

Definition at line 88 of file ApiErrorFormatter.php.

References $format, $lang, $result, and $useDB.

◆ stripMarkup()

static ApiErrorFormatter::stripMarkup ( $text)
static

Member Data Documentation

◆ $dummyTitle

Title ApiErrorFormatter::$dummyTitle = null
staticprivate

Dummy title to silence warnings from MessageCache::parse()

Definition at line 32 of file ApiErrorFormatter.php.

Referenced by getDummyTitle().

◆ $format

ApiErrorFormatter::$format = 'none'
protected

◆ $lang

Language ApiErrorFormatter::$lang
protected

Definition at line 38 of file ApiErrorFormatter.php.

Referenced by __construct(), getLanguage(), and newWithFormat().

◆ $result

ApiResult ApiErrorFormatter::$result
protected

◆ $useDB

ApiErrorFormatter::$useDB = false
protected

Definition at line 39 of file ApiErrorFormatter.php.

Referenced by __construct(), arrayFromStatus(), and newWithFormat().


The documentation for this class was generated from the following file: