|
2 | 2 |
|
3 | 3 | namespace OpenTok\Util; |
4 | 4 |
|
| 5 | +use OpenTok\Layout; |
| 6 | +use Firebase\JWT\JWT; |
| 7 | +use OpenTok\MediaMode; |
5 | 8 | use GuzzleHttp\Middleware; |
6 | 9 | use GuzzleHttp\HandlerStack; |
7 | | -use GuzzleHttp\Exception\ClientException; |
8 | | -use GuzzleHttp\Exception\ServerException; |
9 | 10 | use GuzzleHttp\Psr7\Request; |
10 | | -use Psr\Http\Message\RequestInterface; |
11 | | -use Firebase\JWT\JWT; |
12 | | -use GuzzleHttp\Exception\RequestException; |
13 | 11 | use OpenTok\Exception\Exception; |
14 | 12 | use OpenTok\Exception\DomainException; |
15 | | -use OpenTok\Exception\UnexpectedValueException; |
16 | | -use OpenTok\Exception\AuthenticationException; |
| 13 | +use Psr\Http\Message\RequestInterface; |
17 | 14 | use OpenTok\Exception\ArchiveException; |
18 | | -use OpenTok\Exception\ArchiveDomainException; |
19 | | -use OpenTok\Exception\ArchiveUnexpectedValueException; |
20 | | -use OpenTok\Exception\ArchiveAuthenticationException; |
| 15 | +use GuzzleHttp\Exception\ClientException; |
| 16 | +use GuzzleHttp\Exception\ServerException; |
21 | 17 | use OpenTok\Exception\BroadcastException; |
| 18 | +use GuzzleHttp\Exception\RequestException; |
| 19 | +use function GuzzleHttp\default_user_agent; |
| 20 | +use OpenTok\Exception\ArchiveDomainException; |
| 21 | +use OpenTok\Exception\AuthenticationException; |
22 | 22 | use OpenTok\Exception\BroadcastDomainException; |
23 | | -use OpenTok\Exception\BroadcastUnexpectedValueException; |
24 | | -use OpenTok\Exception\BroadcastAuthenticationException; |
| 23 | +use OpenTok\Exception\UnexpectedValueException; |
25 | 24 | use OpenTok\Exception\SignalConnectionException; |
26 | | -use OpenTok\Exception\SignalUnexpectedValueException; |
27 | 25 | use OpenTok\Exception\SignalAuthenticationException; |
28 | | -use OpenTok\Exception\ForceDisconnectConnectionException; |
29 | | -use OpenTok\Exception\ForceDisconnectUnexpectedValueException; |
30 | | -use OpenTok\Exception\ForceDisconnectAuthenticationException; |
| 26 | +use OpenTok\Exception\ArchiveAuthenticationException; |
| 27 | +use OpenTok\Exception\SignalUnexpectedValueException; |
| 28 | +use OpenTok\Exception\ArchiveUnexpectedValueException; |
| 29 | +use OpenTok\Exception\BroadcastAuthenticationException; |
31 | 30 | use OpenTok\Exception\SignalNetworkConnectionException; |
32 | | -use OpenTok\MediaMode; |
| 31 | +use OpenTok\Exception\BroadcastUnexpectedValueException; |
| 32 | +use OpenTok\Exception\ForceDisconnectConnectionException; |
33 | 33 |
|
34 | | -use function GuzzleHttp\default_user_agent; |
| 34 | +use OpenTok\Exception\ForceDisconnectAuthenticationException; |
| 35 | +use OpenTok\Exception\ForceDisconnectUnexpectedValueException; |
35 | 36 |
|
36 | 37 | // TODO: build this dynamically |
37 | 38 | /** @internal */ |
@@ -154,18 +155,15 @@ private function getResponseXml($response) |
154 | 155 | return $xml; |
155 | 156 | } |
156 | 157 |
|
157 | | - // Archiving API Requests |
158 | | - |
159 | | - public function startArchive($sessionId, $options) |
| 158 | + public function startArchive(string $sessionId, array $options = []): array |
160 | 159 | { |
161 | | - // set up the request |
162 | 160 | $request = new Request('POST', '/v2/project/' . $this->apiKey . '/archive'); |
163 | 161 |
|
164 | 162 | try { |
165 | 163 | $response = $this->client->send($request, [ |
166 | 164 | 'debug' => $this->isDebug(), |
167 | 165 | 'json' => array_merge( |
168 | | - array( 'sessionId' => $sessionId ), |
| 166 | + ['sessionId' => $sessionId], |
169 | 167 | $options |
170 | 168 | ) |
171 | 169 | ]); |
@@ -283,7 +281,7 @@ public function listArchives($offset, $count, $sessionId) |
283 | 281 | return $archiveListJson; |
284 | 282 | } |
285 | 283 |
|
286 | | - public function startBroadcast($sessionId, $options) |
| 284 | + public function startBroadcast(string $sessionId, array $options): array |
287 | 285 | { |
288 | 286 | $request = new Request( |
289 | 287 | 'POST', |
@@ -362,40 +360,36 @@ public function getLayout($resourceId, $resourceType = 'broadcast') |
362 | 360 | return $layoutJson; |
363 | 361 | } |
364 | 362 |
|
365 | | - public function updateLayout($resourceId, $layout, $resourceType = 'broadcast') |
| 363 | + public function updateLayout(string $resourceId, Layout $layout, string $resourceType = 'broadcast'): void |
366 | 364 | { |
367 | 365 | $request = new Request( |
368 | 366 | 'PUT', |
369 | 367 | '/v2/project/' . $this->apiKey . '/' . $resourceType . '/' . $resourceId . '/layout' |
370 | 368 | ); |
371 | 369 | try { |
372 | | - $response = $this->client->send($request, [ |
| 370 | + $this->client->send($request, [ |
373 | 371 | 'debug' => $this->isDebug(), |
374 | | - 'json' => $layout->jsonSerialize() |
| 372 | + 'json' => $layout->toArray() |
375 | 373 | ]); |
376 | | - $layoutJson = json_decode($response->getBody(), true); |
377 | 374 | } catch (\Exception $e) { |
378 | 375 | $this->handleException($e); |
379 | 376 | } |
380 | | - return $layoutJson; |
381 | 377 | } |
382 | 378 |
|
383 | | - public function setArchiveLayout($archiveId, $layout) |
| 379 | + public function setArchiveLayout(string $archiveId, Layout $layout): void |
384 | 380 | { |
385 | 381 | $request = new Request( |
386 | 382 | 'PUT', |
387 | 383 | '/v2/project/' . $this->apiKey . '/archive/' . $archiveId . '/layout' |
388 | 384 | ); |
389 | 385 | try { |
390 | | - $response = $this->client->send($request, [ |
| 386 | + $this->client->send($request, [ |
391 | 387 | 'debug' => $this->isDebug(), |
392 | | - 'json' => $layout->jsonSerialize() |
| 388 | + 'json' => $layout->toArray() |
393 | 389 | ]); |
394 | | - $layoutJson = json_decode($response->getBody(), true); |
395 | 390 | } catch (\Exception $e) { |
396 | 391 | $this->handleException($e); |
397 | 392 | } |
398 | | - return $layoutJson; |
399 | 393 | } |
400 | 394 |
|
401 | 395 | public function updateStream($sessionId, $streamId, $properties) |
|
0 commit comments