MediaWiki REL1_34
|
The REST router is responsible for gathering handler configuration, matching an input path and HTTP method against the defined routes, and constructing and executing the relevant handler for a request. More...
Public Member Functions | |
__construct ( $routeFiles, $extraRoutes, $rootPath, BagOStuff $cacheBag, ResponseFactory $responseFactory, BasicAuthorizerInterface $basicAuth, ObjectFactory $objectFactory, Validator $restValidator) | |
execute (RequestInterface $request) | |
Find the handler for a request and execute it. | |
Private Member Functions | |
executeHandler ( $handler) | |
Execute a fully-constructed handler. | |
fetchCacheData () | |
Get the cache data, or false if it is missing or invalid. | |
getAllRoutes () | |
Get an iterator for all defined routes, including loading the routes from the JSON files. | |
getCacheKey () | |
getConfigHash () | |
Get a config version hash for cache invalidation. | |
getMatchers () | |
Get an array of PathMatcher objects indexed by HTTP method. | |
getRelativePath ( $path) | |
Remove the path prefix $this->rootPath. | |
getRouteFileTimestamps () | |
Get an array of last modification times of the defined route files. | |
getRoutesFromFiles () | |
Load the defined JSON files and return the merged routes. | |
Private Attributes | |
BasicAuthorizerInterface | $basicAuth |
BagOStuff | $cacheBag |
string null | $configHash |
array | $extraRoutes |
PathMatcher[] null | $matchers |
Path matchers by method. | |
ObjectFactory | $objectFactory |
ResponseFactory | $responseFactory |
Validator | $restValidator |
string | $rootPath |
string[] | $routeFiles |
int[] null | $routeFileTimestamps |
array null | $routesFromFiles |
The REST router is responsible for gathering handler configuration, matching an input path and HTTP method against the defined routes, and constructing and executing the relevant handler for a request.
Definition at line 18 of file Router.php.
MediaWiki\Rest\Router::__construct | ( | $routeFiles, | |
$extraRoutes, | |||
$rootPath, | |||
BagOStuff | $cacheBag, | ||
ResponseFactory | $responseFactory, | ||
BasicAuthorizerInterface | $basicAuth, | ||
ObjectFactory | $objectFactory, | ||
Validator | $restValidator | ||
) |
string[] | $routeFiles | List of names of JSON files containing routes |
array | $extraRoutes | Extension route array |
string | $rootPath | The base URL path |
BagOStuff | $cacheBag | A cache in which to store the matcher trees |
ResponseFactory | $responseFactory | |
BasicAuthorizerInterface | $basicAuth | |
ObjectFactory | $objectFactory | |
Validator | $restValidator |
Definition at line 65 of file Router.php.
References MediaWiki\Rest\Router\$basicAuth, MediaWiki\Rest\Router\$cacheBag, MediaWiki\Rest\Router\$extraRoutes, MediaWiki\Rest\Router\$objectFactory, MediaWiki\Rest\Router\$responseFactory, MediaWiki\Rest\Router\$restValidator, MediaWiki\Rest\Router\$rootPath, and MediaWiki\Rest\Router\$routeFiles.
MediaWiki\Rest\Router::execute | ( | RequestInterface | $request | ) |
Find the handler for a request and execute it.
RequestInterface | $request |
Definition at line 226 of file Router.php.
References MediaWiki\Rest\Router\$matchers, $path, $response, MediaWiki\Rest\Router\executeHandler(), MediaWiki\Rest\Router\getMatchers(), MediaWiki\Rest\RequestInterface\getMethod(), MediaWiki\Rest\Router\getRelativePath(), MediaWiki\Rest\RequestInterface\getUri(), MediaWiki\Rest\PathTemplateMatcher\PathMatcher\match(), and MediaWiki\Rest\RequestInterface\setPathParams().
|
private |
Execute a fully-constructed handler.
Handler | $handler |
Definition at line 297 of file Router.php.
Referenced by MediaWiki\Rest\Router\execute().
|
private |
Get the cache data, or false if it is missing or invalid.
Definition at line 85 of file Router.php.
References MediaWiki\Rest\Router\getCacheKey(), and MediaWiki\Rest\Router\getConfigHash().
Referenced by MediaWiki\Rest\Router\getMatchers().
|
private |
Get an iterator for all defined routes, including loading the routes from the JSON files.
Definition at line 159 of file Router.php.
References MediaWiki\Rest\Router\getRoutesFromFiles().
Referenced by MediaWiki\Rest\Router\getMatchers().
|
private |
Definition at line 98 of file Router.php.
Referenced by MediaWiki\Rest\Router\fetchCacheData(), and MediaWiki\Rest\Router\getMatchers().
|
private |
Get a config version hash for cache invalidation.
Definition at line 107 of file Router.php.
References MediaWiki\Rest\Router\$configHash, and MediaWiki\Rest\Router\getRouteFileTimestamps().
Referenced by MediaWiki\Rest\Router\fetchCacheData(), and MediaWiki\Rest\Router\getMatchers().
|
private |
Get an array of PathMatcher objects indexed by HTTP method.
Definition at line 171 of file Router.php.
References MediaWiki\Rest\Router\$matchers, MediaWiki\Rest\PathTemplateMatcher\PathMatcher\add(), MediaWiki\Rest\Router\fetchCacheData(), MediaWiki\Rest\Router\getAllRoutes(), MediaWiki\Rest\Router\getCacheKey(), MediaWiki\Rest\Router\getConfigHash(), and MediaWiki\Rest\PathTemplateMatcher\PathMatcher\newFromCache().
Referenced by MediaWiki\Rest\Router\execute().
|
private |
Remove the path prefix $this->rootPath.
Return the part of the path with the prefix removed, or false if the prefix did not match.
string | $path |
Definition at line 211 of file Router.php.
References $path.
Referenced by MediaWiki\Rest\Router\execute().
|
private |
Get an array of last modification times of the defined route files.
Definition at line 143 of file Router.php.
References MediaWiki\Rest\Router\$routeFileTimestamps.
Referenced by MediaWiki\Rest\Router\getConfigHash().
|
private |
Load the defined JSON files and return the merged routes.
Definition at line 122 of file Router.php.
References MediaWiki\Rest\Router\$routesFromFiles.
Referenced by MediaWiki\Rest\Router\getAllRoutes().
|
private |
Definition at line 47 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 35 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 41 of file Router.php.
Referenced by MediaWiki\Rest\Router\getConfigHash().
|
private |
Definition at line 23 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Path matchers by method.
Definition at line 38 of file Router.php.
Referenced by MediaWiki\Rest\Router\execute(), and MediaWiki\Rest\Router\getMatchers().
|
private |
Definition at line 50 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 44 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 53 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 32 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 20 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 29 of file Router.php.
Referenced by MediaWiki\Rest\Router\getRouteFileTimestamps().
|
private |
Definition at line 26 of file Router.php.
Referenced by MediaWiki\Rest\Router\getRoutesFromFiles().