8000 [Twitter][Notifier] Fix post INIT upload · symfony/symfony@cae2e8e · GitHub
[go: up one dir, main page]

Skip to content

Commit cae2e8e

Browse files
committed
[Twitter][Notifier] Fix post INIT upload
1 parent e61a014 commit cae2e8e

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

src/Symfony/Component/Notifier/Bridge/Twitter/Tests/TwitterTransportTest.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ public function testTweetImage()
6666
$transport = $this->createTransport(new MockHttpClient((function () {
6767
yield function (string $method, string $url, array $options) {
6868
$this->assertSame('POST', $method);
69-
$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);
69+
$this->assertSame('https://upload.twitter.com/1.1/media/upload.json', $url);
70+
$this->assertArrayHasKey('body', $options);
71+
$this->assertSame($options['body'], 'command=INIT&total_bytes=185&media_type=image%2Fgif&media_category=tweet_image');
7072
$this->assertArrayHasKey('authorization', $options['normalized_headers']);
7173

7274
return new MockResponse('{"media_id_string":"gif123"}');
@@ -127,15 +129,19 @@ public function testTweetVideo()
127129
$transport = $this->createTransport(new MockHttpClient((function () {
128130
yield function (string $method, string $url, array $options) {
129131
$this->assertSame('POST', $method);
130-
$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);
132+
$this->assertSame('https://upload.twitter.com/1.1/media/upload.json', $url);
133+
$this->assertArrayHasKey('body', $options);
134+
$this->assertSame($options['body'], 'command=INIT&total_bytes=185&media_type=image%2Fgif&media_category=tweet_video');
131135
$this->assertArrayHasKey('authorization', $options['normalized_headers']);
132136

133137
return new MockResponse('{"media_id_string":"gif123"}');
134138
};
135139

136140
yield function (string $method, string $url, array $options) {
137141
$this->assertSame('POST', $method);
138-
$this->assertSame('https://upload.twitter.com/1.1/media/upload.json?command=INIT&total_bytes=185&media_type=image/gif&media_category=subtitles', $url);
142+
$this->assertSame('https://upload.twitter.com/1.1/media/upload.json', $url);
143+
$this->assertArrayHasKey('body', $options);
144+
$this->assertSame($options['body'], 'command=INIT&total_bytes=185&media_type=image%2Fgif&media_category=subtitles');
139145
$this->assertArrayHasKey('authorization', $options['normalized_headers']);
140146

141147
return new MockResponse('{"media_id_string":"sub234"}');

src/Symfony/Component/Notifier/Bridge/Twitter/TwitterTransport.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -160,32 +160,32 @@ private function uploadMedia(array $media): array
160160
'category' => $category,
161161
'owners' => $extraOwners,
162162
]) {
163-
$query = [
163+
$body = [
164164
'command' => 'INIT',
165165
'total_bytes' => $file->getSize(),
166166
'media_type' => $file->getContentType(),
167167
];
168168

169169
if ($category) {
170-
$query['media_category'] = $category;
170+
$body['media_category'] = $category;
171171
}
172172

173173
if ($extraOwners) {
174-
$query['additional_owners'] = implode(',', $extraOwners);
174+
$body['additional_owners'] = implode(',', $extraOwners);
175175
}
176176

177177
$pool[++$i] = $this->request('POST', '/1.1/media/upload.json', [
178-
'query' => $query,
178+
'body' => $body,
179179
'user_data' => [$i, null, 0, fopen($file->getPath(), 'r'), $alt, $subtitles],
180180
]);
181181

182182
if ($subtitles) {
183-
$query['total_bytes'] = $subtitles->getSize();
184-
$query['media_type'] = $subtitles->getContentType();
185-
$query['media_category'] = 'subtitles';
183+
$body['total_bytes'] = $subtitles->getSize();
184+
$body['media_type'] = $subtitles->getContentType();
185+
$body['media_category'] = 'subtitles';
186186

187187
$pool[++$i] = $this->request('POST', '/1.1/media/upload.json', [
188-
'query' => $query,
188+
'body' => $body,
189189
'user_data' => [$i, null, 0, fopen($subtitles->getPath(), 'r'), null, $subtitles],
190190
]);
191191
}

0 commit comments

Comments
 (0)
0