1 | <?php |
||
48 | class ShopwareClient |
||
49 | { |
||
50 | const VERSION = '0.0.1'; |
||
51 | |||
52 | /** |
||
53 | * @var string|null |
||
54 | */ |
||
55 | protected $baseUrl; |
||
56 | |||
57 | /** |
||
58 | * @var string|null |
||
59 | */ |
||
60 | protected $username; |
||
61 | |||
62 | /** |
||
63 | * @var string|null |
||
64 | */ |
||
65 | protected $apiKey; |
||
66 | |||
67 | /** |
||
68 | * @var Client |
||
69 | */ |
||
70 | protected $client; |
||
71 | |||
72 | /** |
||
73 | * ShopwareClient constructor. |
||
74 | * |
||
75 | * @param $baseUrl |
||
76 | * @param null $username |
||
77 | * @param null $apiKey |
||
78 | */ |
||
79 | 10 | public function __construct($baseUrl, $username = null, $apiKey = null, array $guzzleOptions = []) |
|
80 | { |
||
81 | 10 | $this->baseUrl = $baseUrl; |
|
82 | 10 | $this->username = $username; |
|
83 | 10 | $this->apiKey = $apiKey; |
|
84 | 10 | $curlHandler = new CurlHandler(); |
|
85 | 10 | $handlerStack = HandlerStack::create($curlHandler); |
|
86 | |||
87 | 10 | $guzzleOptions = array_merge($guzzleOptions, [ |
|
88 | 10 | 'base_uri' => $this->baseUrl, |
|
89 | 10 | 'handler' => $handlerStack, |
|
90 | 10 | ]); |
|
91 | 10 | $this->client = new Client($guzzleOptions); |
|
92 | 10 | } |
|
93 | |||
94 | /** |
||
95 | * Does a request. |
||
96 | * |
||
97 | * @param $uri |
||
98 | * @param string $method |
||
99 | * @param null $body |
||
100 | * @param array $headers |
||
101 | * |
||
102 | * @return mixed|\Psr\Http\Message\ResponseInterface |
||
103 | */ |
||
104 | 8 | public function request($uri, $method = 'GET', $body = null, $headers = []) |
|
116 | |||
117 | /** |
||
118 | * Magically get the query classes. |
||
119 | * |
||
120 | * @param $name |
||
121 | * @param array $arguments |
||
122 | * |
||
123 | * @return bool |
||
124 | */ |
||
125 | 1 | public function __call($name, $arguments = []) |
|
139 | |||
140 | /** |
||
141 | * @return Client |
||
142 | */ |
||
143 | 1 | public function getClient() |
|
147 | |||
148 | /** |
||
149 | * @param Client $client |
||
150 | * |
||
151 | * @return ShopwareClient |
||
152 | */ |
||
153 | 10 | public function setClient($client) |
|
159 | } |
||
160 |