diff --git a/src/TrackerRequest.php b/src/TrackerRequest.php index 3d3fefc..3469d70 100644 --- a/src/TrackerRequest.php +++ b/src/TrackerRequest.php @@ -26,13 +26,13 @@ public function userId(int|string|null $id): static return $this; } - public function getUserId(): string + public function getUserId(): ?string { if ($id = $this->get($this->header->userId)) { return $id; } - return '0'; + return null; } public function ip(?string $ip = null): static @@ -44,7 +44,7 @@ public function ip(?string $ip = null): static return $this; } - public function getIp(): string + public function getIp(): ?string { if ($ip = $this->get($this->header->ip)) { return $ip; @@ -88,6 +88,10 @@ public function getRequest(): Request protected function set(string $key, array|int|string|null $value): static { + if (! is_int($value) && ! $value) { + return $this; + } + if (is_int($value)) { $value = (string) $value; } diff --git a/tests/Unit/Request/UserIdTest.php b/tests/Unit/Request/UserIdTest.php index 24683c7..3bda6bb 100644 --- a/tests/Unit/Request/UserIdTest.php +++ b/tests/Unit/Request/UserIdTest.php @@ -31,5 +31,5 @@ // 4) getUserId() returns '0' when nothing present $request = makeRequest(); $telemetry = new TrackerRequest($request, $header); - expect($telemetry->getUserId())->toBe('0'); + expect($telemetry->getUserId())->toBeNull(); });