private function assertValidParameters(RequestInterface $request)
{
$method = $request->getMethod();
$path = $request->getUri()->getPath();
$schemaParameters = $this->schemaHelper->getQueryParameters($method, $path);
$requestParameters = $this->getRequestParameters($request);
/** @var NamedParameter $schemaParameter */
foreach ($schemaParameters as $schemaParameter) {
$key = $schemaParameter->getKey();
if (!array_key_exists($key, $requestParameters)) {
continue;
}
try {
$schemaParameter->validate($requestParameters[$key]);
} catch (ValidationException $exception) {
$message = sprintf('Request parameter does not match schema for `%s %s`: %s', strtoupper($method), $path, $exception->getMessage());
throw new ValidatorRequestException($message, 0, $exception);
}
}
}