titasgailius / laravel-stream-remote
Stream remote files
1.0.0
2020-05-25 12:36 UTC
Requires
- guzzlehttp/guzzle: ~6.0
- illuminate/routing: ^7.0|^6.0|^5.7
Requires (Dev)
- mockery/mockery: ^1.2
- phpunit/phpunit: ^7.4
This package is auto-updated.
Last update: 2024-12-19 23:39:54 UTC
README
With this package you can stream remote contents right from your Laravel application.
Installation
composer require titasgailius/laravel-stream-remote
Usage
The streamRemoteDownload
method may be used to generate a response that turns contents of a remote resource to a downloadable response without having to write anything to disk.
This method accepts a url, file name and an optional array of headers as it's arguments:
return response()->streamRemoteDownload('https://example.com/remote/file.zip', 'archive.zip');
Advanced
You may specify headers of the response, content-disposition value and chunk size of the streamed content:
return response()->streamRemoteDownload('https://example.com/remote/file.zip', 'archive.zip', [ 'Content-Type' => 'application/zip' ], 'attachment', 1024);
This is a full signature of the streamRemoteDownload
method:
public function streamRemoteDownload( string $url, string $name = null, array $headers = [], string $disposition = 'attachment', int $chunk = 2048 ): StreamedResponse;
Tests
This package is covered with tests that are store in tests
directory.
Run ./vendor/bin/phpunit
to run the test suite.