Skip to content

Commit a10158a

Browse files
vijaythecoderclaude
andcommitted
Add response validation for OpenAI API ephemeral key generation
- Add null checks for nested response data before accessing - Validate client_secret structure exists in response - Add default values for optional fields (sessionId, model) - Improve error logging with response data for debugging - Prevent potential runtime errors from missing response keys Co-Authored-By: Claude <[email protected]>
1 parent aeb35c6 commit a10158a

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

app/Http/Controllers/RealtimeController.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,19 @@ public function generateEphemeralKey(Request $request)
4747

4848
$data = $response->json();
4949

50+
// Validate response structure
51+
if (!isset($data['client_secret']['value']) || !isset($data['client_secret']['expires_at'])) {
52+
Log::error('Invalid response structure from OpenAI API', ['response' => $data]);
53+
throw new \Exception('Invalid response structure from OpenAI API');
54+
}
55+
5056
// Return ephemeral key data
5157
return response()->json([
5258
'status' => 'success',
5359
'ephemeralKey' => $data['client_secret']['value'],
5460
'expiresAt' => $data['client_secret']['expires_at'],
55-
'sessionId' => $data['id'],
56-
'model' => $data['model'],
61+
'sessionId' => $data['id'] ?? null,
62+
'model' => $data['model'] ?? 'gpt-4o-realtime-preview-2024-12-17',
5763
]);
5864

5965
} catch (\Exception $e) {

0 commit comments

Comments
 (0)