MediaWiki REL1_37
|
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, $baseUrl, $rootPath, BagOStuff $cacheBag, ResponseFactory $responseFactory, BasicAuthorizerInterface $basicAuth, Authority $authority, ObjectFactory $objectFactory, Validator $restValidator, HookContainer $hookContainer) | |
execute (RequestInterface $request) | |
Find the handler for a request and execute it. | |
getRouteUrl ( $route, $pathParams=[], $queryParams=[]) | |
Returns a full URL for the given route. | |
setCors (CorsUtils $cors) | |
Private Member Functions | |
createHandler (RequestInterface $request, array $spec) | |
Create a handler from its spec. | |
executeHandler ( $handler) | |
Execute a fully-constructed handler. | |
fetchCacheData () | |
Get the cache data, or false if it is missing or invalid. | |
getAllowedMethods (string $relPath) | |
Get the allow methods for a path. | |
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 | |
Authority | $authority |
string | $baseUrl |
BasicAuthorizerInterface | $basicAuth |
BagOStuff | $cacheBag |
string null | $configHash |
CorsUtils null | $cors |
array | $extraRoutes |
HookContainer | $hookContainer |
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 20 of file Router.php.
MediaWiki\Rest\Router::__construct | ( | $routeFiles, | |
$extraRoutes, | |||
$baseUrl, | |||
$rootPath, | |||
BagOStuff | $cacheBag, | ||
ResponseFactory | $responseFactory, | ||
BasicAuthorizerInterface | $basicAuth, | ||
Authority | $authority, | ||
ObjectFactory | $objectFactory, | ||
Validator | $restValidator, | ||
HookContainer | $hookContainer | ||
) |
string[] | $routeFiles | List of names of JSON files containing routes |
array | $extraRoutes | Extension route array |
string | $baseUrl | The base URL |
string | $rootPath | The base path for routes, relative to the base URL |
BagOStuff | $cacheBag | A cache in which to store the matcher trees |
ResponseFactory | $responseFactory | |
BasicAuthorizerInterface | $basicAuth | |
Authority | $authority | |
ObjectFactory | $objectFactory | |
Validator | $restValidator | |
HookContainer | $hookContainer |
Definition at line 83 of file Router.php.
References MediaWiki\Rest\Router\$authority, MediaWiki\Rest\Router\$baseUrl, MediaWiki\Rest\Router\$basicAuth, MediaWiki\Rest\Router\$cacheBag, MediaWiki\Rest\Router\$extraRoutes, MediaWiki\Rest\Router\$hookContainer, MediaWiki\Rest\Router\$objectFactory, MediaWiki\Rest\Router\$responseFactory, MediaWiki\Rest\Router\$restValidator, MediaWiki\Rest\Router\$rootPath, and MediaWiki\Rest\Router\$routeFiles.
|
private |
Create a handler from its spec.
RequestInterface | $request | |
array | $spec |
Definition at line 362 of file Router.php.
Referenced by MediaWiki\Rest\Router\execute().
MediaWiki\Rest\Router::execute | ( | RequestInterface | $request | ) |
Find the handler for a request and execute it.
RequestInterface | $request |
Definition at line 276 of file Router.php.
References MediaWiki\Rest\Router\$matchers, $path, MediaWiki\Rest\Router\createHandler(), MediaWiki\Rest\Router\executeHandler(), MediaWiki\Rest\Router\getAllowedMethods(), 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 386 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 114 of file Router.php.
References MediaWiki\Rest\Router\getCacheKey(), and MediaWiki\Rest\Router\getConfigHash().
Referenced by MediaWiki\Rest\Router\getMatchers().
|
private |
Get the allow methods for a path.
string | $relPath |
Definition at line 342 of file Router.php.
Referenced by MediaWiki\Rest\Router\execute().
|
private |
Get an iterator for all defined routes, including loading the routes from the JSON files.
Definition at line 188 of file Router.php.
References MediaWiki\Rest\Router\getRoutesFromFiles().
Referenced by MediaWiki\Rest\Router\getMatchers().
|
private |
Definition at line 127 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 136 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 200 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 240 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 172 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 151 of file Router.php.
References MediaWiki\Rest\Router\$routesFromFiles.
Referenced by MediaWiki\Rest\Router\getAllRoutes().
MediaWiki\Rest\Router::getRouteUrl | ( | $route, | |
$pathParams = [] , |
|||
$queryParams = [] |
|||
) |
Returns a full URL for the given route.
Intended for use in redirects.
string | $route | |
array | $pathParams | |
array | $queryParams |
Definition at line 259 of file Router.php.
References wfAppendQuery().
MediaWiki\Rest\Router::setCors | ( | CorsUtils | $cors | ) |
|
private |
Definition at line 55 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 34 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 52 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 40 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 46 of file Router.php.
Referenced by MediaWiki\Rest\Router\getConfigHash().
|
private |
Definition at line 64 of file Router.php.
|
private |
Definition at line 25 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 67 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Path matchers by method.
Definition at line 43 of file Router.php.
Referenced by MediaWiki\Rest\Router\execute(), and MediaWiki\Rest\Router\getMatchers().
|
private |
Definition at line 58 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 49 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 61 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 37 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 22 of file Router.php.
Referenced by MediaWiki\Rest\Router\__construct().
|
private |
Definition at line 31 of file Router.php.
Referenced by MediaWiki\Rest\Router\getRouteFileTimestamps().
|
private |
Definition at line 28 of file Router.php.
Referenced by MediaWiki\Rest\Router\getRoutesFromFiles().