MediaWiki REL1_34
MediaWiki\Rest\Validator\Validator Class Reference

Wrapper for ParamValidator. More...

Collaboration diagram for MediaWiki\Rest\Validator\Validator:

Public Member Functions

 __construct (ObjectFactory $objectFactory, PermissionManager $permissionManager, RequestInterface $request, UserIdentity $user)
 
 validateBody (RequestInterface $request, Handler $handler)
 Validate the body of a request.
 
 validateParams (array $paramSettings)
 Validate parameters.
 

Private Attributes

ParamValidator $paramValidator
 

Static Private Attributes

static string[] $bodyMethods = [ 'POST', 'PUT' ]
 HTTP request methods that we expect always to have a payload.
 
static string[] $formDataContentTypes
 Content types handled via $_POST.
 
static string[] $noBodyMethods = [ 'GET', 'HEAD', 'DELETE' ]
 HTTP request methods that we expect never to have a payload.
 
static array $typeDefs
 Type defs for ParamValidator.
 

Detailed Description

Wrapper for ParamValidator.

It's intended to be used in the REST API classes by composition.

Since
1.34

Definition at line 29 of file Validator.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Rest\Validator\Validator::__construct ( ObjectFactory  $objectFactory,
PermissionManager  $permissionManager,
RequestInterface  $request,
UserIdentity  $user 
)
Parameters
ObjectFactory$objectFactory
PermissionManager$permissionManager
RequestInterface$request
UserIdentity$user

Definition at line 72 of file Validator.php.

Member Function Documentation

◆ validateBody()

MediaWiki\Rest\Validator\Validator::validateBody ( RequestInterface  $request,
Handler  $handler 
)

Validate the body of a request.

This may return a data structure representing the parsed body. When used in the context of Handler::validateParams(), the returned value will be available to the handler via Handler::getValidatedBody().

Parameters
RequestInterface$request
Handler$handlerUsed to call getBodyValidator()
Returns
mixed May be null
Exceptions
HttpExceptionon validation failure

Definition at line 125 of file Validator.php.

References MediaWiki\Rest\RequestInterface\getBody(), MediaWiki\Rest\Handler\getBodyValidator(), MediaWiki\Rest\RequestInterface\getHeaderLine(), and MediaWiki\Rest\RequestInterface\getMethod().

Referenced by MediaWiki\Rest\Handler\validate().

◆ validateParams()

MediaWiki\Rest\Validator\Validator::validateParams ( array  $paramSettings)

Validate parameters.

Parameters
array[]$paramSettingsParameter settings
Returns
array Validated parameters
Exceptions
HttpExceptionon validaton failure

Definition at line 93 of file Validator.php.

References Wikimedia\ParamValidator\ValidationException\getFailureCode(), Wikimedia\ParamValidator\ValidationException\getFailureData(), Wikimedia\ParamValidator\ValidationException\getParamName(), Wikimedia\ParamValidator\ValidationException\getParamValue(), and MediaWiki\Rest\Handler\PARAM_SOURCE.

Referenced by MediaWiki\Rest\Handler\validate().

Member Data Documentation

◆ $bodyMethods

string [] MediaWiki\Rest\Validator\Validator::$bodyMethods = [ 'POST', 'PUT' ]
staticprivate

HTTP request methods that we expect always to have a payload.

Definition at line 54 of file Validator.php.

◆ $formDataContentTypes

string [] MediaWiki\Rest\Validator\Validator::$formDataContentTypes
staticprivate
Initial value:
= [
'application/x-www-form-urlencoded',
'multipart/form-data',
]

Content types handled via $_POST.

Definition at line 57 of file Validator.php.

◆ $noBodyMethods

string [] MediaWiki\Rest\Validator\Validator::$noBodyMethods = [ 'GET', 'HEAD', 'DELETE' ]
staticprivate

HTTP request methods that we expect never to have a payload.

Definition at line 51 of file Validator.php.

◆ $paramValidator

ParamValidator MediaWiki\Rest\Validator\Validator::$paramValidator
private

Definition at line 63 of file Validator.php.

◆ $typeDefs

array MediaWiki\Rest\Validator\Validator::$typeDefs
staticprivate
Initial value:
= [
'boolean' => [ 'class' => BooleanDef::class ],
'enum' => [ 'class' => EnumDef::class ],
'integer' => [ 'class' => IntegerDef::class ],
'float' => [ 'class' => FloatDef::class ],
'double' => [ 'class' => FloatDef::class ],
'NULL' => [
'class' => StringDef::class,
'args' => [ [
'allowEmptyWhenRequired' => true,
] ],
],
'password' => [ 'class' => PasswordDef::class ],
'string' => [ 'class' => StringDef::class ],
'timestamp' => [ 'class' => TimestampDef::class ],
'upload' => [ 'class' => UploadDef::class ],
]

Type defs for ParamValidator.

Definition at line 32 of file Validator.php.


The documentation for this class was generated from the following file: