/** * @param $method * @param null $params * @param $route * @param null $headers * @return mixed */ private function makeRequest($method, $params = null, $route, $headers = null) { $request = new FormRequest($method, $route, $this->apiSettings['api_endpoint']); if ($params) { $request->setFields($params); } if ($headers) { $request->setHeaders($headers); } return $this->sendRequest($request); }
/** * @param UploadedFile $file * @param string $clientName * @param string $context * * @return Response * * @throws MediaStorageClientApiException * * @todo config to $context */ public function sendFile(UploadedFile $file, $clientName, $context) { try { $request = new FormRequest(); $request->setHeaders(['headers' => 'enctype:multipart/form-data']); $request->setMethod($this->getClientsConfig($clientName, 'method') ? $this->getClientsConfig($clientName, 'method') : FormRequest::METHOD_POST); $request->setHost($this->getClientsConfig($clientName, 'base_url')); $formUpload = new FormUpload($file->getRealPath()); $formUpload->setFilename($file->getClientOriginalName()); $request->addFields(['binaryContent' => $formUpload, 'context' => $context]); $request->setResource($this->getClientsConfig($clientName, 'add_media_url')); $this->logger->debug('Send ' . $this->getClientsConfig($clientName, 'base_url') . $this->getClientsConfig($clientName, 'add_media_url')); //.' '.$request->getContent() /** @var Response $response */ $response = $this->client->send($request, null); $this->logger->debug('Response: ' . $response->getStatusCode() . ' ' . substr($response->getContent(), 0, 300)); } catch (\Exception $e) { throw new MediaStorageClientApiException($e->getMessage()); } return $response; }
/** * Executes a http request. * * @param Request $request The http request. * * @return Response The http response. */ public function execute(Request $request) { $method = $request->getMethod(); $endpoint = $request->getEndpoint(); $params = $request->getParams(); $headers = $request->getHeaders(); try { if ($method === 'GET') { $buzzResponse = $this->client->call($endpoint . '?' . http_build_query($params), $method, $headers, array()); } else { $buzzRequest = new FormRequest(); $buzzRequest->fromUrl($endpoint); $buzzRequest->setMethod($method); $buzzRequest->setHeaders($headers); foreach ($params as $key => $value) { if ($value instanceof Image) { $value = new FormUpload($value->getData()); } $buzzRequest->setField($key, $value); } $buzzResponse = new BuzzResponse(); $this->client->send($buzzRequest, $buzzResponse); } } catch (RequestException $e) { throw new Exception($e->getMessage()); } return static::convertResponse($request, $buzzResponse); }