1 | <?php |
||
27 | class CoinGeckoClient |
||
28 | { |
||
29 | protected const BASE_URI = 'https://api.coingecko.com'; |
||
30 | |||
31 | /** @var Client */ |
||
32 | private $httpClient; |
||
33 | |||
34 | /** @var ResponseInterface|null */ |
||
35 | protected $lastResponse; |
||
36 | |||
37 | 51 | public function __construct(?Client $client = null) |
|
38 | { |
||
39 | 51 | $this->httpClient = $client ?: new Client(['base_uri' => self::BASE_URI]); |
|
40 | 51 | } |
|
41 | |||
42 | 38 | public function getHttpClient(): Client |
|
43 | { |
||
44 | 38 | return $this->httpClient; |
|
45 | } |
||
46 | |||
47 | /** |
||
48 | * @return array |
||
49 | * @throws Exception |
||
50 | */ |
||
51 | 1 | public function ping(): array |
|
55 | |||
56 | 1 | public function simple(): Simple |
|
60 | |||
61 | 1 | public function coins(): Coins |
|
65 | |||
66 | 1 | public function contract(): Contract |
|
70 | |||
71 | 1 | public function exchanges(): Exchanges |
|
75 | |||
76 | 1 | public function finance(): Finance |
|
80 | |||
81 | 1 | public function indexes(): Indexes |
|
85 | |||
86 | 1 | public function derivatives(): Derivatives |
|
90 | |||
91 | 1 | public function statusUpdates(): StatusUpdates |
|
95 | |||
96 | 1 | public function events(): Events |
|
100 | |||
101 | 1 | public function exchangeRates(): ExchangeRates |
|
105 | |||
106 | 1 | public function globals(): Globals |
|
107 | { |
||
110 | |||
111 | 38 | public function setLastResponse(ResponseInterface $response) |
|
115 | |||
116 | 2 | public function getLastResponse(): ?ResponseInterface |
|
120 | } |
||
121 |