diff --git a/src/Symfony/Component/Notifier/Bridge/Twitter/Tests/TwitterTransportTest.php b/src/Symfony/Component/Notifier/Bridge/Twitter/Tests/TwitterTransportTest.php index 4b34b2257becb..f77fb2ebabf64 100644 --- a/src/Symfony/Component/Notifier/Bridge/Twitter/Tests/TwitterTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Twitter/Tests/TwitterTransportTest.php @@ -66,7 +66,9 @@ public function testTweetImage() $transport = $this->createTransport(new MockHttpClient((function () { yield function (string $method, string $url, array $options) { $this->assertSame('POST', $method); - $this->assertSame('https://upload.twitter.com/1.1/media/upload.json?command=INIT&total_bytes=185&media_type=image/gif&media_category=tweet_image', $url); + $this->assertSame('https://upload.twitter.com/1.1/media/upload.json', $url); + $this->assertArrayHasKey('body', $options); + $this->assertSame($options['body'], 'command=INIT&total_bytes=185&media_type=image%2Fgif&media_category=tweet_image'); $this->assertArrayHasKey('authorization', $options['normalized_headers']); return new MockResponse('{"media_id_string":"gif123"}'); @@ -127,7 +129,9 @@ public function testTweetVideo() $transport = $this->createTransport(new MockHttpClient((function () { yield function (string $method, string $url, array $options) { $this->assertSame('POST', $method); - $this->assertSame('https://upload.twitter.com/1.1/media/upload.json?command=INIT&total_bytes=185&media_type=image/gif&media_category=tweet_video', $url); + $this->assertSame('https://upload.twitter.com/1.1/media/upload.json', $url); + $this->assertArrayHasKey('body', $options); + $this->assertSame($options['body'], 'command=INIT&total_bytes=185&media_type=image%2Fgif&media_category=tweet_video'); $this->assertArrayHasKey('authorization', $options['normalized_headers']); return new MockResponse('{"media_id_string":"gif123"}'); @@ -135,7 +139,9 @@ public function testTweetVideo() yield function (string $method, string $url, array $options) { $this->assertSame('POST', $method); - $this->assertSame('https://upload.twitter.com/1.1/media/upload.json?command=INIT&total_bytes=185&media_type=image/gif&media_category=subtitles', $url); + $this->assertSame('https://upload.twitter.com/1.1/media/upload.json', $url); + $this->assertArrayHasKey('body', $options); + $this->assertSame($options['body'], 'command=INIT&total_bytes=185&media_type=image%2Fgif&media_category=subtitles'); $this->assertArrayHasKey('authorization', $options['normalized_headers']); return new MockResponse('{"media_id_string":"sub234"}'); diff --git a/src/Symfony/Component/Notifier/Bridge/Twitter/TwitterTransport.php b/src/Symfony/Component/Notifier/Bridge/Twitter/TwitterTransport.php index dda25e5e70bec..686c61bb102bf 100644 --- a/src/Symfony/Component/Notifier/Bridge/Twitter/TwitterTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/Twitter/TwitterTransport.php @@ -160,32 +160,32 @@ private function uploadMedia(array $media): array 'category' => $category, 'owners' => $extraOwners, ]) { - $query = [ + $body = [ 'command' => 'INIT', 'total_bytes' => $file->getSize(), 'media_type' => $file->getContentType(), ]; if ($category) { - $query['media_category'] = $category; + $body['media_category'] = $category; } if ($extraOwners) { - $query['additional_owners'] = implode(',', $extraOwners); + $body['additional_owners'] = implode(',', $extraOwners); } $pool[++$i] = $this->request('POST', '/1.1/media/upload.json', [ - 'query' => $query, + 'body' => $body, 'user_data' => [$i, null, 0, fopen($file->getPath(), 'r'), $alt, $subtitles], ]); if ($subtitles) { - $query['total_bytes'] = $subtitles->getSize(); - $query['media_type'] = $subtitles->getContentType(); - $query['media_category'] = 'subtitles'; + $body['total_bytes'] = $subtitles->getSize(); + $body['media_type'] = $subtitles->getContentType(); + $body['media_category'] = 'subtitles'; $pool[++$i] = $this->request('POST', '/1.1/media/upload.json', [ - 'query' => $query, + 'body' => $body, 'user_data' => [$i, null, 0, fopen($subtitles->getPath(), 'r'), null, $subtitles], ]); }