MediaWiki master
|
A Module that is based on flat route definitions in the form originally introduced in MW 1.35. More...
Inherits MediaWiki\Rest\Module\MatcherBasedModule.
Public Member Functions | |||||||
__construct (array $routeFiles, array $extraRoutes, Router $router, ResponseFactory $responseFactory, BasicAuthorizerInterface $basicAuth, ObjectFactory $objectFactory, Validator $restValidator, ErrorReporter $errorReporter, HookContainer $hookContainer) | |||||||
getDefinedPaths () | |||||||
getOpenApiInfo () | |||||||
Return an array with data to be included in an OpenAPI "info" object describing this module. | |||||||
![]() | |||||||
findHandlerMatch (string $path, string $requestMethod) | |||||||
Determines which handler to use for the given path and returns an array describing the handler and initialization context.
| |||||||
getAllowedMethods (string $relPath) | |||||||
Get the allowed methods for a path. | |||||||
getCacheData () | |||||||
Return data that can later be used to initialize a new instance of this module in a fast and efficient way. | |||||||
initFromCacheData (array $cacheData) | |||||||
Initialize from the given cache data if possible. | |||||||
![]() | |||||||
__construct (Router $router, string $pathPrefix, ResponseFactory $responseFactory, BasicAuthorizerInterface $basicAuth, ObjectFactory $objectFactory, Validator $restValidator, ErrorReporter $errorReporter, HookContainer $hookContainer) | |||||||
execute (string $path, RequestInterface $request) | |||||||
Find the handler for a request and execute it. | |||||||
getHandlerForPath (string $path, RequestInterface $request, bool $initForExecute=false) | |||||||
Create a Handler for the given path, taking into account the request method. | |||||||
getModuleDescription () | |||||||
Returns fields to be included when describing this module in the discovery document. | |||||||
getPathPrefix () | |||||||
getRouter () | |||||||
setCors (CorsUtils $cors) | |||||||
setStats (StatsFactory $stats) | |||||||
Protected Member Functions | |
getConfigHash () | |
Get a config version hash for cache invalidation. | |
initRoutes () | |
Initialize matchers by calling addRoute() for each known route. | |
![]() | |
addRoute ( $method, string $path, array $info) | |
getMatchers () | |
Get an array of PathMatcher objects indexed by HTTP method. | |
![]() | |
executeHandler (Handler $handler) | |
Execute a fully-constructed handler. | |
instantiateHandlerObject (array $spec) | |
Creates a handler from the given spec, but does not initialize it. | |
throwNoMatch (string $path, string $method, array $allowed) | |
Implementations of getHandlerForPath() should call this method when they cannot handle the requested path. | |
Additional Inherited Members | |
![]() | |
static | loadJsonFile (string $fileName) |
Loads a module specification from a file. | |
![]() | |
const | CACHE_CONFIG_HASH_KEY = 'CONFIG-HASH' |
![]() | |
string | $pathPrefix |
ResponseFactory | $responseFactory |
A Module that is based on flat route definitions in the form originally introduced in MW 1.35.
This module acts as a "catch all" since it doesn't use a module prefix. So it handles all routes that do not explicitly belong to a module.
This module responds to requests by matching the requested path against a list of known routes to identify the appropriate handler. The routes are loaded from the route definition files or in extension.json files using the RestRoutes key.
Flat files just contain a list (a JSON array) or route definitions (see below). Annotated route definition files contain a map (a JSON object) with the following fields:
Each route definition maps a path pattern to a handler class. It is given as a map (JSON object) with the following fields:
The following fields are supported as a shorthand notation:
More shorthands may be added in the future.
Route definitions can contain additional fields to configure the handler. The handler can access the route definition by calling getConfig().
Definition at line 64 of file ExtraRoutesModule.php.
MediaWiki\Rest\Module\ExtraRoutesModule::__construct | ( | array | $routeFiles, |
array | $extraRoutes, | ||
Router | $router, | ||
ResponseFactory | $responseFactory, | ||
BasicAuthorizerInterface | $basicAuth, | ||
ObjectFactory | $objectFactory, | ||
Validator | $restValidator, | ||
ErrorReporter | $errorReporter, | ||
HookContainer | $hookContainer ) |
string[] | $routeFiles | List of names of JSON files containing routes See the documentation of this class for a description of the file format. |
array<int,array> | $extraRoutes Extension route array. The content of this array must be a list of route definitions. See the documentation of this class for a description of the expected structure. |
Definition at line 93 of file ExtraRoutesModule.php.
References MediaWiki\Rest\Module\Module\$responseFactory.
|
protected |
Get a config version hash for cache invalidation.
Reimplemented from MediaWiki\Rest\Module\MatcherBasedModule.
Definition at line 121 of file ExtraRoutesModule.php.
MediaWiki\Rest\Module\ExtraRoutesModule::getDefinedPaths | ( | ) |
Reimplemented from MediaWiki\Rest\Module\Module.
Definition at line 176 of file ExtraRoutesModule.php.
MediaWiki\Rest\Module\ExtraRoutesModule::getOpenApiInfo | ( | ) |
Return an array with data to be included in an OpenAPI "info" object describing this module.
Reimplemented from MediaWiki\Rest\Module\Module.
Definition at line 247 of file ExtraRoutesModule.php.
|
protected |
Initialize matchers by calling addRoute() for each known route.
Reimplemented from MediaWiki\Rest\Module\MatcherBasedModule.
Definition at line 199 of file ExtraRoutesModule.php.
References $path.