LKDevelopment / hetzner-cloud-php-sdk

A PHP SDK for the Hetzner Cloud API
MIT License
104 stars 51 forks source link

Error on retrieving Firewall if there is a rule with "any" port #71

Open stefangeorgescu opened 3 years ago

stefangeorgescu commented 3 years ago

$firewall = $this->client->firewalls()->getByName('name'); I'm receiving the following error when retrieving a Firewall which has a rule with an "any" port:

` PHP Fatal error: Uncaught TypeError: Argument 5 passed to LKDev\HetznerCloud\Models\Firewalls\FirewallRule::__construct() must be of the type string, null given, called in /vendor/lkdevelopment/hetzner-cloud-php-sdk/src/Models/Firewalls/Firewall.php on line 112 and defined in /vendor/lkdevelopment/hetzner-cloud-php-sdk/src/Models/Firewalls/FirewallRule.php:48 Stack trace:

0 /vendor/lkdevelopment/hetzner-cloud-php-sdk/src/Models/Firewalls/Firewall.php(112): LKDev\HetznerCloud\Models\Firewalls\FirewallRule->__construct('in', 'icmp', Array, Array, NULL)

1 /vendor/lkdevelopment/hetzner-cloud-php-sdk/src/Models/Firewalls/Firewalls.php(129): LKDev\HetznerCloud\Models\Firewalls\Firewall::parse(Object(stdClass))

2 [internal function]: LKDev\HetznerCloud\Models\Firewalls\Firewalls->LKDev\HetznerCloud\Models\Firewalls{closure}(Object(stdClass), 0)

3 /vendor/tightenco/collect/src/Collect/Support/Collection.ph in /vendor/lkdevelopment/hetzner-cloud-php-sdk/src/Models/Firewalls/FirewallRule.php on line 48

`

The issue should be easy to resolve adding null to the $port parameter type casting in FirewallRule.

LKaemmerling commented 3 years ago

Hey @stefangeorgescu,

thank you for your report! I won't have the time to fix this in this week, would it be possible that you contribute the fix :)?

Thank you!

stefangeorgescu commented 3 years ago

Sure, here you go #72

MatusBoa commented 2 years ago

Hey @LKaemmerling

this issue seems to be resolved