]> _ Git - cubist_net.git/commitdiff
wip #7175 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 5 Nov 2024 15:25:47 +0000 (16:25 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 5 Nov 2024 15:25:47 +0000 (16:25 +0100)
src/Transfer/S3.php

index 5a294972234bae1024f7c1e8095ff9c7d64e24e1..d6a7d530906f940520941b051bf4d06b2fa83a66 100644 (file)
@@ -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']]
         ];
     }