| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- <?php
 
- namespace Aws\Polly;
 
- use Aws\Api\Serializer\JsonBody;
 
- use Aws\AwsClient;
 
- use Aws\Signature\SignatureV4;
 
- use GuzzleHttp\Psr7\Request;
 
- use GuzzleHttp\Psr7\Uri;
 
- use GuzzleHttp\Psr7;
 
- /**
 
-  * This client is used to interact with the **Amazon Polly** service.
 
-  * @method \Aws\Result deleteLexicon(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise deleteLexiconAsync(array $args = [])
 
-  * @method \Aws\Result describeVoices(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise describeVoicesAsync(array $args = [])
 
-  * @method \Aws\Result getLexicon(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise getLexiconAsync(array $args = [])
 
-  * @method \Aws\Result getSpeechSynthesisTask(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise getSpeechSynthesisTaskAsync(array $args = [])
 
-  * @method \Aws\Result listLexicons(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise listLexiconsAsync(array $args = [])
 
-  * @method \Aws\Result listSpeechSynthesisTasks(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise listSpeechSynthesisTasksAsync(array $args = [])
 
-  * @method \Aws\Result putLexicon(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise putLexiconAsync(array $args = [])
 
-  * @method \Aws\Result startSpeechSynthesisTask(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise startSpeechSynthesisTaskAsync(array $args = [])
 
-  * @method \Aws\Result synthesizeSpeech(array $args = [])
 
-  * @method \GuzzleHttp\Promise\Promise synthesizeSpeechAsync(array $args = [])
 
-  */
 
- class PollyClient extends AwsClient
 
- {
 
-     /** @var JsonBody */
 
-     private $formatter;
 
-     /**
 
-      * Create a pre-signed URL for Polly operation `SynthesizeSpeech`
 
-      *
 
-      * @param array $args parameters array for `SynthesizeSpeech`
 
-      *                    More information @see Aws\Polly\PollyClient::SynthesizeSpeech
 
-      *
 
-      * @return string
 
-      */
 
-     public function createSynthesizeSpeechPreSignedUrl(array $args)
 
-     {
 
-         $uri = new Uri($this->getEndpoint());
 
-         $uri = $uri->withPath('/v1/speech');
 
-         // Formatting parameters follows rest-json protocol
 
-         $this->formatter = $this->formatter ?: new JsonBody($this->getApi());
 
-         $queryArray = json_decode(
 
-             $this->formatter->build(
 
-                 $this->getApi()->getOperation('SynthesizeSpeech')->getInput(),
 
-                 $args
 
-             ),
 
-             true
 
-         );
 
-         // Mocking a 'GET' request in pre-signing the Url
 
-         $query = Psr7\Query::build($queryArray);
 
-         $uri = $uri->withQuery($query);
 
-         $request = new Request('GET', $uri);
 
-         $request = $request->withBody(Psr7\Utils::streamFor(''));
 
-         $signer = new SignatureV4('polly', $this->getRegion());
 
-         return (string) $signer->presign(
 
-             $request,
 
-             $this->getCredentials()->wait(),
 
-             '+15 minutes'
 
-         )->getUri();
 
-     }
 
- }
 
 
  |