extract "BaseApi::checkDefaults()" method for later usage

This commit is contained in:
Philipp 2021-11-28 13:22:27 +01:00 committed by Hypolite Petovan
parent d21108fe0e
commit f580d8e5c0
42 changed files with 86 additions and 72 deletions

View file

@ -116,7 +116,7 @@ class BaseApi extends BaseModule
* @return array request data
* @throws \Exception
*/
public static function getRequest(array $defaults, array $request = null): array
public function getRequest(array $defaults, array $request = null): array
{
$httpinput = HTTPInputData::process();
$input = array_merge($httpinput['variables'], $httpinput['files'], $request ?? $_REQUEST);
@ -126,35 +126,7 @@ class BaseApi extends BaseModule
unset(self::$request['pagename']);
$request = [];
foreach ($defaults as $parameter => $defaultvalue) {
if (is_string($defaultvalue)) {
$request[$parameter] = $input[$parameter] ?? $defaultvalue;
} elseif (is_int($defaultvalue)) {
$request[$parameter] = (int)($input[$parameter] ?? $defaultvalue);
} elseif (is_float($defaultvalue)) {
$request[$parameter] = (float)($input[$parameter] ?? $defaultvalue);
} elseif (is_array($defaultvalue)) {
$request[$parameter] = $input[$parameter] ?? [];
} elseif (is_bool($defaultvalue)) {
$request[$parameter] = in_array(strtolower($input[$parameter] ?? ''), ['true', '1']);
} else {
Logger::notice('Unhandled default value type', ['parameter' => $parameter, 'type' => gettype($defaultvalue)]);
}
}
foreach ($input ?? [] as $parameter => $value) {
if ($parameter == 'pagename') {
continue;
}
if (!in_array($parameter, array_keys($defaults))) {
Logger::notice('Unhandled request field', ['parameter' => $parameter, 'value' => $value, 'command' => DI::args()->getCommand()]);
}
}
Logger::debug('Got request parameters', ['request' => $request, 'command' => DI::args()->getCommand()]);
return $request;
return $this->checkDefaults($defaults, $input);
}
/**