1 | <?php |
||
11 | class Config |
||
12 | { |
||
13 | |||
14 | /** |
||
15 | * @var array $config |
||
16 | */ |
||
17 | private $config = []; |
||
18 | |||
19 | /** |
||
20 | * @var array $default |
||
21 | */ |
||
22 | private $default = [ |
||
23 | 'domain' => "cybozu.com", |
||
24 | 'use_api_token' => false, |
||
25 | 'use_basic' => false, |
||
26 | 'use_client_cert' => false, |
||
27 | 'base_url' => null, |
||
28 | 'defaults' => [], |
||
29 | 'use_cache' => false, |
||
30 | 'cache_dir' => null, |
||
31 | 'cache_ttl' => 0, |
||
32 | 'debug' => false |
||
33 | ]; |
||
34 | |||
35 | /** |
||
36 | * @var array $required |
||
37 | */ |
||
38 | private $required = [ |
||
39 | 'domain', |
||
40 | 'subdomain', |
||
41 | 'use_api_token', |
||
42 | 'use_basic', |
||
43 | 'use_client_cert', |
||
44 | 'base_url', |
||
45 | 'defaults', |
||
46 | 18 | 'use_cache', |
|
47 | 'debug' |
||
48 | 18 | ]; |
|
49 | |||
50 | 18 | public function __construct(array $config) |
|
58 | 18 | ||
59 | /** |
||
60 | 18 | * configure default options |
|
61 | 18 | */ |
|
62 | 18 | private function configureDefaults() |
|
68 | 3 | ||
69 | 3 | private function configureAuth() |
|
78 | 5 | ||
79 | 5 | private function configureBasicAuth() |
|
85 | 4 | ||
86 | 4 | private function configureCert() |
|
95 | 5 | ||
96 | /** |
||
97 | 5 | * @return array |
|
98 | */ |
||
99 | 5 | private function getBasicAuthOptions() |
|
109 | 4 | ||
110 | /** |
||
111 | 4 | * @return array |
|
112 | */ |
||
113 | 4 | private function getCertOptions() |
|
123 | 7 | ||
124 | /** |
||
125 | 7 | * @return array |
|
126 | */ |
||
127 | public function toArray() |
||
131 | |||
132 | 18 | /** |
|
133 | * @param $key |
||
134 | 18 | * @return string|bool |
|
135 | 18 | */ |
|
136 | public function get($key) |
||
144 | 7 | ||
145 | /** |
||
146 | 7 | * @return bool |
|
147 | 7 | */ |
|
148 | 1 | public function hasRequired() |
|
161 | |||
162 | 7 | /** |
|
163 | 1 | * @return bool |
|
164 | */ |
||
165 | private function hasRequiredOnAuth() |
||
173 | |||
174 | 9 | /** |
|
175 | * @return bool |
||
176 | */ |
||
177 | private function hasRequiredOnBasicAuth() |
||
181 | |||
182 | 10 | /** |
|
183 | * @return bool |
||
184 | */ |
||
185 | private function hasRequiredOnCert() |
||
189 | |||
190 | 11 | /** |
|
191 | * @return bool |
||
192 | 11 | */ |
|
193 | 7 | private function hasRequiredOnCache() |
|
197 | 7 | ||
198 | 2 | /** |
|
199 | * @param string $use |
||
200 | 7 | * @param string[] $keys |
|
201 | * @return bool |
||
202 | 7 | */ |
|
203 | private function hasKeysByUse($use, array $keys) |
||
217 | |||
218 | 18 | /** |
|
219 | 18 | * @return string |
|
220 | */ |
||
221 | 18 | public function getBaseUrl() |
|
236 | } |