Skip to content

Commit

Permalink
fix: 修复请求参数错误
Browse files Browse the repository at this point in the history
  • Loading branch information
overtrue committed Dec 18, 2023
1 parent e210652 commit b7cd597
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 11 deletions.
34 changes: 29 additions & 5 deletions src/ObjectClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@ public function deleteObject(string $key, string $versionId = null): Http\Respon

public function deleteObjects(array $body): Http\Response
{
return $this->post('/?delete', ['body' => XML::fromArray($body)]);
if (key($body) == 'Delete') {
$body = $body['Delete'];
}

return $this->post('/?delete', ['body' => XML::fromArray($body, 'Delete')]);
}

public function optionsObject(string $key): Http\Response
Expand All @@ -70,33 +74,45 @@ public function optionsObject(string $key): Http\Response

public function restoreObject(string $key, array $body, string $versionId = null): Http\Response
{
if (key($body) == 'RestoreRequest') {
$body = $body['RestoreRequest'];
}

return $this->post(\urlencode($key), [
'query' => [
'restore' => '',
'versionId' => $versionId,
],
'body' => XML::fromArray($body),
'body' => XML::fromArray($body, 'RestoreRequest'),
]);
}

public function selectObjectContents(string $key, array $body): Http\Response
{
if (key($body) == 'SelectRequest') {
$body = $body['SelectRequest'];
}

return $this->post(\urlencode($key), [
'query' => [
'select' => '',
'select-type' => 2,
],
'body' => XML::fromArray($body),
'body' => XML::fromArray($body, 'SelectRequest'),
]);
}

public function putObjectACL(string $key, array $body, array $headers = []): Http\Response
{
if (key($body) == 'AccessControlPolicy') {
$body = $body['AccessControlPolicy'];
}

return $this->put(\urlencode($key), [
'query' => [
'acl' => '',
],
'body' => XML::fromArray($body),
'body' => XML::fromArray($body, 'AccessControlPolicy'),
'headers' => $headers,
]);
}
Expand All @@ -112,12 +128,16 @@ public function getObjectACL(string $key): Http\Response

public function putObjectTagging(string $key, array $body, string $versionId = null): Http\Response
{
if (key($body) == 'Tagging') {
$body = $body['Tagging'];
}

return $this->put(\urlencode($key), [
'query' => [
'tagging' => '',
'VersionId' => $versionId,
],
'body' => XML::fromArray($body),
'body' => XML::fromArray($body, 'Tagging'),
]);
}

Expand Down Expand Up @@ -189,6 +209,10 @@ public function copyPart(string $key, int $partNumber, string $uploadId, array $

public function markUploadAsCompleted(string $key, string $uploadId, array $body): Http\Response
{
if (key($body) == 'CompleteMultipartUpload') {
$body = $body['CompleteMultipartUpload'];
}

return $this->post(\urlencode($key), [
'query' => [
'uploadId' => $uploadId,
Expand Down
12 changes: 6 additions & 6 deletions tests/ObjectClientTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ public function testDeleteObjects()
],
];
$object->shouldReceive('post')
->with('/?delete', ['body' => XML::fromArray($body)])
->with('/?delete', ['body' => XML::fromArray($body['Delete'], 'Delete')])
->andReturn(Response::create(200));

/* @var Response $response */
Expand All @@ -187,7 +187,7 @@ public function testRestoreObject()
],
];
$object->shouldReceive('post')
->with('example-key', ['query' => ['restore' => '', 'versionId' => 'example-version-id'], 'body' => XML::fromArray($body)])
->with('example-key', ['query' => ['restore' => '', 'versionId' => 'example-version-id'], 'body' => XML::fromArray($body['RestoreRequest'], 'RestoreRequest')])
->andReturn(Response::create(200));

/* @var Response $response */
Expand Down Expand Up @@ -221,7 +221,7 @@ public function testSelectObjectContents()
],
];
$object->shouldReceive('post')
->with('example-key', ['query' => ['select' => '', 'select-type' => 2], 'body' => XML::fromArray($body)])
->with('example-key', ['query' => ['select' => '', 'select-type' => 2], 'body' => XML::fromArray($body['SelectRequest'], 'SelectRequest')])
->andReturn(Response::create(200));

/* @var Response $response */
Expand Down Expand Up @@ -265,7 +265,7 @@ public function testPutObjectACL()
];

$object->shouldReceive('put')
->with('example-key', ['query' => ['acl' => ''], 'body' => XML::fromArray($body), 'headers' => []])
->with('example-key', ['query' => ['acl' => ''], 'body' => XML::fromArray($body['AccessControlPolicy'], 'AccessControlPolicy'), 'headers' => []])
->andReturn(Response::create(200));

/* @var Response $response */
Expand Down Expand Up @@ -304,7 +304,7 @@ public function testPutObjectTagging()
];

$object->shouldReceive('put')
->with('example-key', ['query' => ['tagging' => '', 'VersionId' => 'example-version-id'], 'body' => XML::fromArray($body)])
->with('example-key', ['query' => ['tagging' => '', 'VersionId' => 'example-version-id'], 'body' => XML::fromArray($body['Tagging'], 'Tagging')])
->andReturn(Response::create(200));

/* @var Response $response */
Expand Down Expand Up @@ -433,7 +433,7 @@ public function testMarkUploadAsCompleted()
$object->shouldReceive('post')
->with('example-key', [
'query' => ['uploadId' => '1585130821cbb7df1d1xxx'],
'body' => XML::fromArray($body),
'body' => XML::fromArray($body['CompleteMultipartUpload'], 'CompleteMultipartUpload', 'Part'),
])
->andReturn(Response::create(200));

Expand Down

0 comments on commit b7cd597

Please sign in to comment.