diff --git a/src/VAPID.php b/src/VAPID.php index f44bdf0..bbc527c 100644 --- a/src/VAPID.php +++ b/src/VAPID.php @@ -113,13 +113,18 @@ public static function getVapidHeaders( 'alg' => 'ES256', ]; - $jwtPayload = json_encode([ - 'aud' => $audience, - 'exp' => $expiration, - 'sub' => $subject, - ], JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK); - if (!$jwtPayload) { - throw new \ErrorException('Failed to encode JWT payload in JSON'); + + try { + $jwtPayload = json_encode( + [ + 'aud' => $audience, + 'exp' => $expiration, + 'sub' => $subject, + ], + JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES + ); + } catch (\JsonException $e) { + throw new \ErrorException('Failed to encode JWT payload in JSON: '.$e->getMessage()); } [$x, $y] = Utils::unserializePublicKey($publicKey);