first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
<?php
namespace Common\Files\Response;
use Carbon\Carbon;
use Common\Files\FileEntry;
class RemoteFileResponse implements FileResponse
{
/**
* @param FileEntry $entry
* @param array $options
* @return mixed
*/
public function make(FileEntry $entry, $options): mixed
{
if ($options['disposition'] === 'attachment') {
$fileName = rawurlencode($entry->name);
return $this->getTemporaryUrl($entry, $options, [
'ResponseContentType' => 'application/octet-stream',
'ResponseContentDisposition' => "attachment;filename={$fileName}",
]);
} else {
if (config('common.site.use_presigned_s3_urls')) {
return $this->getTemporaryUrl($entry, $options, [
'ResponseContentType' => $entry->mime,
]);
} else {
return redirect(
$entry
->getDisk()
->url($entry->getStoragePath($options['useThumbnail'])),
);
}
}
}
private function getTemporaryUrl(
FileEntry $entry,
array $entryOptions,
array $urlOptions,
) {
return redirect(
$entry
->getDisk()
->temporaryUrl(
$entry->getStoragePath($entryOptions['useThumbnail']),
Carbon::now()->addMinutes(30),
$urlOptions,
),
);
}
}