MediaWiki REL1_40
SimpleHandler.php
Go to the documentation of this file.
1<?php
2
3namespace MediaWiki\Rest;
4
15abstract class SimpleHandler extends Handler {
16 public function execute() {
17 $paramSettings = $this->getParamSettings();
18 $validatedParams = $this->getValidatedParams();
19 $unvalidatedParams = [];
20 $params = [];
21 foreach ( $this->getRequest()->getPathParams() as $name => $value ) {
22 $source = $paramSettings[$name][self::PARAM_SOURCE] ?? 'unknown';
23 if ( $source !== 'path' ) {
24 $unvalidatedParams[] = $name;
25 $params[] = $value;
26 } else {
27 $params[] = $validatedParams[$name];
28 }
29 }
30
31 if ( $unvalidatedParams ) {
32 throw new \LogicException(
33 'Path parameters were not validated: ' . implode( ', ', $unvalidatedParams )
34 );
35 }
36
37 // @phan-suppress-next-line PhanUndeclaredMethod
38 return $this->run( ...$params );
39 }
40}
Base class for REST route handlers.
Definition Handler.php:20
getParamSettings()
Fetch ParamValidator settings for parameters.
Definition Handler.php:344
getRequest()
Get the current request.
Definition Handler.php:155
getValidatedParams()
Fetch the validated parameters.
Definition Handler.php:367
const PARAM_SOURCE
(string) ParamValidator constant to specify the source of the parameter.
Definition Handler.php:29
execute()
Execute the handler.
$source