diff --git a/app/Services/Cloudflare/Firewall.php b/app/Services/Cloudflare/Firewall.php index 9775626..c4235dd 100644 --- a/app/Services/Cloudflare/Firewall.php +++ b/app/Services/Cloudflare/Firewall.php @@ -91,9 +91,13 @@ class Firewall extends Cloudflare $response = $this->getMySocket()->get("zones/{$this->getParentEntity()->getPK()}//rulesets/phases/http_request_firewall_custom/entrypoint"); $body = json_decode($response->getBody()); foreach ($body->result->rules as $rule) { - $formDatas = ['rulesetid' => $body->result->id]; - $formDatas = $this->getArrayByResult($rule, $formDatas); - $entitys[$formDatas[FirewallModel::PK]] = $this->getModel()->modify(new FirewallEntity(), $formDatas); + if (!is_object(value: $rule) || get_class($rule) !== 'stdClass') { + log_message("error", "Firewall: rule is not a stdClass:\n" . var_export($rule, true) . "\n"); + } else { + $formDatas = ['rulesetid' => $body->result->id]; + $formDatas = $this->getArrayByResult($rule, $formDatas); + $entitys[$formDatas[FirewallModel::PK]] = $this->getModel()->modify(new FirewallEntity(), $formDatas); + } } } catch (\Exception $e) { log_message("error", $e->getMessage());