When a multi-valued parameter's value begins with U+001F, the values will be split on that character instead of pipes. This will be useful for things such as action=options&change= or meta=allmessages&amargs=. Since MediaWiki doesn't otherwise accept C0 control characters (WebRequest::getVal() replaces them with �), there's no possibility that this will conflict with a literal use of U+001F. Special:ApiSandbox and mw.Api are updated to make use of this, with the latter having an option to disable the behavior in case something is depending on [ 'foo', 'bar|baz' ] turning into 'foo|bar|baz'. Pipe is still used as the separator when the value doesn't begin with U+001F, and will be forever since it's generally more human-friendly and is needed for backwards compatibility with basically every API client in existence. The requirement that the value begin with U+001F, rather than simply contain U+001F, is to avoid clients having to somehow special-case "param=foo|bar" where that's intended to be a single value "foo|bar" rather than two values "foo" and "bar". Bug: T141960 Change-Id: I45f69997667b48887a2b67e93906364a652ace5a
23 lines
347 B
PHP
23 lines
347 B
PHP
<?php
|
|
|
|
class MockApi extends ApiBase {
|
|
public $warnings = [];
|
|
|
|
public function execute() {
|
|
}
|
|
|
|
public function __construct() {
|
|
}
|
|
|
|
public function setWarning( $warning ) {
|
|
$this->warnings[] = $warning;
|
|
}
|
|
|
|
public function getAllowedParams() {
|
|
return [
|
|
'filename' => null,
|
|
'enablechunks' => false,
|
|
'sessionkey' => null,
|
|
];
|
|
}
|
|
}
|