This commit is contained in:
parent
4c2e559bab
commit
472a6da5a6
@ -2,7 +2,8 @@
|
||||
"name": "multi-downloader-client",
|
||||
"image": "rg.fr-par.scw.cloud/kubernetes/devcontainer:php-8.3",
|
||||
"containerEnv": {
|
||||
"MULTI_DOWNLOADER_API_KEY": "YOUR_API_KEY"
|
||||
"MULTI_DOWNLOADER_API_KEY": "YOUR_API_KEY",
|
||||
"MULTI_DOWNLOADER_URL": "https://multi-dl.kub.nwb.fr"
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
|
54
README.md
54
README.md
@ -1,10 +1,8 @@
|
||||
# multi-downloader-client
|
||||
|
||||
## Utilisation
|
||||
|
||||
## Installation
|
||||
### Composer
|
||||
Ajouter les modules communs dans composer.json
|
||||
|
||||
Add repository in composer.json
|
||||
```json
|
||||
{
|
||||
"repositories": [{
|
||||
@ -14,7 +12,53 @@ Ajouter les modules communs dans composer.json
|
||||
]
|
||||
}
|
||||
```
|
||||
Lancer la commande
|
||||
Then run composer require
|
||||
```bash
|
||||
composer require nwb/multi-downloader-client
|
||||
```
|
||||
|
||||
## Env
|
||||
The following env variables are used by default
|
||||
```dotenv
|
||||
MULTI_DOWNLOADER_API_KEY
|
||||
MULTI_DOWNLOADER_URL
|
||||
```
|
||||
They can be overriden in the constructor
|
||||
```php
|
||||
use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
||||
|
||||
$client = new MultiDownloaderClient([
|
||||
'apiKey' => '',
|
||||
'url' => '',
|
||||
])
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Ajouter des fichiers
|
||||
```php
|
||||
use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
||||
use Nwb\MultiDownloaderClient\FileRequest;
|
||||
|
||||
$client = new MultiDownloaderClient();
|
||||
|
||||
$client->addFiles([
|
||||
new FileRequest('http://example.com/image.png')
|
||||
new FileRequest('http://example.com/image1.png')
|
||||
]);
|
||||
```
|
||||
|
||||
Get zip as string
|
||||
```php
|
||||
$zip = $client->downloadAsString();
|
||||
```
|
||||
|
||||
Save zip to file (stream)
|
||||
```php
|
||||
$client->downloadTo('/tmp/my-zip.zip');
|
||||
```
|
||||
|
||||
Get html form
|
||||
```php
|
||||
$form = $client->htmlForm();
|
||||
```
|
||||
|
@ -4,7 +4,7 @@ namespace Nwb\MultiDownloaderClient;
|
||||
|
||||
class MultiDownloaderClient
|
||||
{
|
||||
private string $apiUrl = 'https://multi-dl.kub.nwb.fr';
|
||||
private string $url;
|
||||
private string $apiKey;
|
||||
|
||||
private array $files = [];
|
||||
@ -19,9 +19,13 @@ class MultiDownloaderClient
|
||||
|
||||
$this->apiKey = $apiKey;
|
||||
|
||||
if (!empty($options['apiUrl'])) {
|
||||
$this->apiUrl = $options['apiUrl'];
|
||||
$url = $options['url'] ?? getenv('MULTI_DOWNLOADER_URL');
|
||||
|
||||
if (!$url) {
|
||||
throw new \InvalidArgumentException('API URL is required');
|
||||
}
|
||||
|
||||
$this->url = $url;
|
||||
}
|
||||
|
||||
public function setFiles(array $files)
|
||||
@ -82,7 +86,7 @@ class MultiDownloaderClient
|
||||
$ch = curl_init();
|
||||
|
||||
$options = array_replace($options, [
|
||||
CURLOPT_URL => $this->apiUrl . '/v2/zip',
|
||||
CURLOPT_URL => $this->url . '/v2/zip',
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => json_encode($this->buildRequest()),
|
||||
|
@ -24,7 +24,7 @@ use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
||||
|
||||
<body>
|
||||
<div id="button_div" class="modal-dialog-buttons">
|
||||
<form name="f" id="f" method="POST" action="<?= $this->apiUrl ?>/v2/form/zip" enctype="multipart/form-data">
|
||||
<form name="f" id="f" method="POST" action="<?= $this->url ?>/v2/form/zip" enctype="multipart/form-data">
|
||||
<input type="hidden" name="json" value="<?= json_encode($this->buildRequest()) ?>" />
|
||||
|
||||
<noscript>
|
||||
|
Loading…
Reference in New Issue
Block a user