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 () | |||||||
getOpenApiInfo () | |||||||
Return an array with data to be included in an OpenAPI "info" object describing this module. | |||||||
Public Member Functions inherited from MediaWiki\Rest\Module\MatcherBasedModule | |||||||
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. | |||||||
Public Member Functions inherited from MediaWiki\Rest\Module\Module | |||||||
__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. | |||||||
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. | |
Protected Member Functions inherited from MediaWiki\Rest\Module\MatcherBasedModule | |
addRoute ( $method, string $path, array $info) | |
getMatchers () | |
Get an array of PathMatcher objects indexed by HTTP method. | |
Protected Member Functions inherited from MediaWiki\Rest\Module\Module | |
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 Public Member Functions inherited from MediaWiki\Rest\Module\Module | |
static | loadJsonFile (string $fileName) |
Loads a module specification from a file. | |
Public Attributes inherited from MediaWiki\Rest\Module\Module | |
const | CACHE_CONFIG_HASH_KEY = 'CONFIG-HASH' |
Protected Attributes inherited from MediaWiki\Rest\Module\Module | |
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.
MediaWiki\Rest\Module\SpecBasedModule::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 217 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.