MediaWiki master
|
A Module that is based on a module definition file similar to an OpenAPI spec. More...
Inherits MediaWiki\Rest\Module\MatcherBasedModule.
Public Member Functions | |||||||
__construct (string $definitionFile, Router $router, string $pathPrefix, ResponseFactory $responseFactory, BasicAuthorizerInterface $basicAuth, ObjectFactory $objectFactory, Validator $restValidator, ErrorReporter $errorReporter) | |||||||
getDefinedPaths () | |||||||
![]() | |||||||
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) | |||||||
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. | |||||||
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 a module definition file similar to an OpenAPI spec.
Just like an OpenAPI spec, the module definition file contains a "paths" section that maps paths and HTTP methods to operations. Each operation then specifies the PHP class that will handle the request under the "handler" key. The value of the "handler" key is an object spec for use with ObjectFactory::createObject.
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 39 of file SpecBasedModule.php.
MediaWiki\Rest\Module\SpecBasedModule::__construct | ( | string | $definitionFile, |
Router | $router, | ||
string | $pathPrefix, | ||
ResponseFactory | $responseFactory, | ||
BasicAuthorizerInterface | $basicAuth, | ||
ObjectFactory | $objectFactory, | ||
Validator | $restValidator, | ||
ErrorReporter | $errorReporter ) |
Definition at line 52 of file SpecBasedModule.php.
References MediaWiki\Rest\Module\Module\$pathPrefix, and MediaWiki\Rest\Module\Module\$responseFactory.
|
protected |
Get a config version hash for cache invalidation.
Reimplemented from MediaWiki\Rest\Module\MatcherBasedModule.
Definition at line 79 of file SpecBasedModule.php.
MediaWiki\Rest\Module\SpecBasedModule::getDefinedPaths | ( | ) |
Reimplemented from MediaWiki\Rest\Module\Module.
Definition at line 144 of file SpecBasedModule.php.
|
protected |
Initialize matchers by calling addRoute() for each known route.
Reimplemented from MediaWiki\Rest\Module\MatcherBasedModule.
Definition at line 158 of file SpecBasedModule.php.
References $path.