Catch and verify put and patch input values.
This commit is contained in:
parent
05cd83fd10
commit
daf7250882
@ -15,6 +15,8 @@ namespace Libs;
|
|||||||
class Request extends Neuron {
|
class Request extends Neuron {
|
||||||
public Neuron $get;
|
public Neuron $get;
|
||||||
public Neuron $post;
|
public Neuron $post;
|
||||||
|
public Neuron $put;
|
||||||
|
public Neuron $patch;
|
||||||
public Neuron $json;
|
public Neuron $json;
|
||||||
public Neuron $params;
|
public Neuron $params;
|
||||||
public string $path;
|
public string $path;
|
||||||
@ -31,14 +33,21 @@ class Request extends Neuron {
|
|||||||
$this->path = Router::currentPath();
|
$this->path = Router::currentPath();
|
||||||
$this->get = new Neuron($_GET);
|
$this->get = new Neuron($_GET);
|
||||||
$this->post = new Neuron($_POST);
|
$this->post = new Neuron($_POST);
|
||||||
|
$this->put = new Neuron();
|
||||||
|
$this->patch = new Neuron();
|
||||||
|
|
||||||
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';
|
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';
|
||||||
if ($contentType === "application/json")
|
if ($contentType === "application/json")
|
||||||
$this->json = new Neuron(
|
$this->json = new Neuron(
|
||||||
(object) json_decode(trim(file_get_contents("php://input")), false)
|
(object) json_decode(trim(file_get_contents("php://input")), false)
|
||||||
);
|
);
|
||||||
else
|
else {
|
||||||
$this->json = new Neuron();
|
$this->json = new Neuron();
|
||||||
|
if (in_array($_SERVER['REQUEST_METHOD'], ['PUT', 'PATCH'])) {
|
||||||
|
parse_str(file_get_contents("php://input"), $input_vars);
|
||||||
|
$this->{strtolower($_SERVER['REQUEST_METHOD'])} = new Neuron($input_vars);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$this->params = new Neuron();
|
$this->params = new Neuron();
|
||||||
}
|
}
|
||||||
@ -50,10 +59,10 @@ class Request extends Neuron {
|
|||||||
*/
|
*/
|
||||||
public function validate(): mixed
|
public function validate(): mixed
|
||||||
{
|
{
|
||||||
if ($_SERVER['REQUEST_METHOD'] == 'GET')
|
$actual = match($_SERVER['REQUEST_METHOD']) {
|
||||||
$actual = $this->get;
|
'GET', 'DELETE' => $this->get,
|
||||||
else
|
default => $this->{strtolower($_SERVER['REQUEST_METHOD'])}
|
||||||
$actual = $this->post;
|
};
|
||||||
|
|
||||||
if (Validator::validateList(static::paramRules(), $this->params) &&
|
if (Validator::validateList(static::paramRules(), $this->params) &&
|
||||||
Validator::validateList(static::getRules(), $this->get ) &&
|
Validator::validateList(static::getRules(), $this->get ) &&
|
||||||
|
Loading…
Reference in New Issue
Block a user