From 7a9864df4a333c1dec5f442a6c01294b9b8eaef6 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 5 Nov 2024 16:25:47 +0100 Subject: [PATCH] wip #7175 @0.5 --- src/Transfer/S3.php | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Transfer/S3.php b/src/Transfer/S3.php index 5a29497..d6a7d53 100644 --- a/src/Transfer/S3.php +++ b/src/Transfer/S3.php @@ -20,23 +20,25 @@ class S3 extends Driver public function checkConnexion($data = []) { - $test = 'test' . time(); + $test = 'test' . time() . '-' . rand(1, 1000000); $testFile = $data['base_path'] . '/' . $test . '.txt'; - try { - $client = $this->createClient($data); - } catch (\Exception $e) { - return self::ERROR_SERVER_CONNECTION; - } + $client = $this->createClient($data); + + $oc = ['Bucket' => $data['bucket'], 'Key' => $testFile]; try { - $client->putObject(['Bucket' => $data['bucket'], 'Key' => $testFile, 'Body' => $test]); + $client->putObject(array_merge($oc, ['Body' => $test])); } catch (\Exception $e) { - return self::ERROR_SEND_FILE; + return ['error' => true, 'message' => $e->getMessage()]; } - $o = $client->getObject(['Bucket' => $data['bucket'], 'Key' => $testFile]); - if ($o->get('Body') == $test) { + $o = $client->getObject($oc); + $ocontent = $o->get('Body'); + + $client->deleteObject($oc); + + if ($ocontent == $test) { return true; } return self::ERROR_SEND_FILE; @@ -47,7 +49,7 @@ class S3 extends Driver $data = [ 'access_key' => $data['access_key'] ?? $this->getServer()->getAccessKey(), 'secret' => $data['secret'] ?? $this->getServer()->getSecret(), - 'region' => $data['region'] ?? $this->getServer()->getRegion(), + 'region' => ($data['region'] ?? $this->getServer()->getRegion()) ?: 'eu-west-3', 'bucket' => $data['bucket'] ?? $this->getServer()->getBucket(), 'endpoint' => $data['endpoint'] ?? $this->getServer()->getEndpoint(), 'base_path' => trim($data['base_path'] ?? $this->getServer()->getBasePath(), "/"), @@ -56,7 +58,7 @@ class S3 extends Driver return ['region' => $data['region'], 'version' => '2006-03-01', 'use_path_style_endpoint' => false, - 'credentials' => ['key' => $data['key'], 'secret' => $data['secret']] + 'credentials' => ['key' => $data['access_key'], 'secret' => $data['secret']] ]; } -- 2.39.5