ReviewOS

also looking at this

meemalabs/meema-client-php

Add error handling

#62
Merged glennmichael123 wants to merge fix-psr7 into main
1 file +20 -12
src/Models/Storage.phpmodified+20-12
Changes to src/Models/Storage.php
@@ -2,9 +2,11 @@
22
33namespace Meema\MeemaApi\Models;
44
5use Exception;
56use GuzzleHttp\Client as GuzzleClient;
67use GuzzleHttp\Psr7;
78use GuzzleHttp\Psr7\Request;
9use GuzzleHttp\Psr7\Utils;
810use Meema\MeemaApi\Client;
911
1012class Storage
@@ -33,26 +35,32 @@ class Storage
3335 */
3436 public function upload($path)
3537 {
36 $file = fopen($path, 'r');
37 $fileName = basename($path);
38 try {
39 $file = fopen($path, 'r');
40 $fileName = basename($path);
3841
39 $stream = Psr7\stream_for($file);
40 $mimeType = mime_content_type($file);
42 $stream = Utils::streamFor($file);
43 $mimeType = mime_content_type($file);
4144
42 $signedUrl = $this->client->request('POST', 'storage/signed-url', ['content_type' => $mimeType]);
45 $signedUrl = $this->client->request('POST', 'storage/signed-url', ['content_type' => $mimeType]);
4346
44 if (is_array($signedUrl) && $signedUrl['url']) {
45 $headers = $signedUrl['headers'];
46 unset($headers['Host']);
47 if (is_array($signedUrl) && $signedUrl['url']) {
48 $headers = $signedUrl['headers'];
49 unset($headers['Host']);
4750
48 $this->uploadFile($signedUrl['url'], $headers, $fileName, $stream);
51 $this->uploadFile($signedUrl['url'], $headers, $fileName, $stream);
4952
50 $uploadData = ['key' => $signedUrl['key'], 'file_name' => $fileName];
53 $uploadData = ['key' => $signedUrl['key'], 'file_name' => $fileName];
5154
52 $response = $this->client->request('POST', 'upload', $uploadData);
55 $response = $this->client->request('POST', 'upload', $uploadData);
56
57 return $response;
58 }
59 } catch (Exception $e) {
60 throw $e;
5361 }
5462
55 return $response;
63 return ['message' => 'File did not successfully upload.'];
5664 }
5765
5866 /**