src/HttpClient.php
<?php namespace leocata\M1; use GuzzleHttp\Client; class HttpClient{ private $client; private $auth; private $request; /** * HttpClient constructor. * * @param Authorization $auth */ public function __construct(Authorization $auth) { $this->client = new Client(['base_uri' => 'https://m1online.net']); $this->auth = $auth; } /** * @param $request * * @return mixed|null */ public function getResponseContent($request) { $this->request = $request; $response = $this->response()->getBody()->getContents(); return !empty($response) ? \GuzzleHttp\json_decode($response) : null; } /** * @return mixed|\Psr\Http\Message\ResponseInterface */ private function response() { return $this->client->request('POST', '/', [ 'headers' => [ 'Content-Type' => 'application/json', ] + $this->auth->getBasicAuth(), 'body' => $this->request, ]); }}