Repo for the search and displace core module including the interface to select files and search and displace operations to run on them.
https://searchanddisplace.com
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\SearchDisplace\Ingest;
use GuzzleHttp\Client;
class SendDocument { protected $url;
public function __construct() { $this->url = env('SD_INGEST_URL') . '/ingest'; }
public function execute($documentPath, $id) { try { $response = $this->sendRequest($documentPath, $id);
if ($response['status'] === 'fail') { $message = array_key_exists('message', $response) ? $response['message'] : 'Something went wrong.';
throw new \Exception($message); }
// The file in Ingest si in Processing state.
} catch (\Exception $exception) { throw new \Exception($exception->getMessage()); } }
public function sendRequest($documentPath, $id) { $client = new Client();
$response = $client->request('post', $this->url, [ 'headers' => [ 'Accept' => 'application/json', ],
'multipart' => [ [ 'name' => 'id', 'contents' => $id, ],
[ 'name' => 'document', 'contents' => fopen($documentPath, 'r'), ] ], ]);
return json_decode($response->getBody()->getContents(), true); } }
|