@@ -173,55 +173,46 @@ public static function regionSeoul()
173173 **/
174174 public static function queryRegion ($ ak , $ bucket , $ ucHost = null )
175175 {
176- $ Region = new Region ();
176+ $ region = new Region ();
177177 if (!$ ucHost ) {
178178 $ ucHost = "https:// " . Config::UC_HOST ;
179179 }
180- $ url = $ ucHost . '/v2 /query ' . "?ak= $ ak&bucket= $ bucket " ;
180+ $ url = $ ucHost . '/v4 /query ' . "?ak= $ ak&bucket= $ bucket " ;
181181 $ ret = Client::Get ($ url );
182182 if (!$ ret ->ok ()) {
183183 return array (null , new Error ($ url , $ ret ));
184184 }
185185 $ r = ($ ret ->body === null ) ? array () : $ ret ->json ();
186- //parse Region;
187-
188- $ iovipHost = $ r ['io ' ]['src ' ]['main ' ][0 ];
189- $ Region ->iovipHost = $ iovipHost ;
190- $ accMain = $ r ['up ' ]['acc ' ]['main ' ][0 ];
191- array_push ($ Region ->cdnUpHosts , $ accMain );
192- if (isset ($ r ['up ' ]['acc ' ]['backup ' ])) {
193- foreach ($ r ['up ' ]['acc ' ]['backup ' ] as $ key => $ value ) {
194- array_push ($ Region ->cdnUpHosts , $ value );
195- }
196- }
197- $ srcMain = $ r ['up ' ]['src ' ]['main ' ][0 ];
198- array_push ($ Region ->srcUpHosts , $ srcMain );
199- if (isset ($ r ['up ' ]['src ' ]['backup ' ])) {
200- foreach ($ r ['up ' ]['src ' ]['backup ' ] as $ key => $ value ) {
201- array_push ($ Region ->srcUpHosts , $ value );
202- }
186+ if (!is_array ($ r ["hosts " ]) || count ($ r ["hosts " ]) == 0 ) {
187+ return array (null , new Error ($ url , $ ret ));
203188 }
204189
205- //set specific hosts
206- if (isset ($ r ['rs ' ]['acc ' ]['main ' ]) && count ($ r ['rs ' ]['acc ' ]['main ' ]) > 0 ) {
207- $ Region ->rsHost = $ r ['rs ' ]['acc ' ]['main ' ][0 ];
190+ // parse region;
191+ $ regionHost = $ r ["hosts " ][0 ];
192+ $ region ->cdnUpHosts = array_merge ($ region ->cdnUpHosts , $ regionHost ['up ' ]['domains ' ]);
193+ $ region ->srcUpHosts = array_merge ($ region ->srcUpHosts , $ regionHost ['up ' ]['domains ' ]);
194+
195+ // set specific hosts
196+ $ region ->iovipHost = $ regionHost ['io ' ]['domains ' ][0 ];
197+ if (isset ($ regionHost ['rs ' ]['domains ' ]) && count ($ regionHost ['rs ' ]['domains ' ]) > 0 ) {
198+ $ region ->rsHost = $ regionHost ['rs ' ]['domains ' ][0 ];
208199 } else {
209- $ Region ->rsHost = Config::RS_HOST ;
200+ $ region ->rsHost = Config::RS_HOST ;
210201 }
211- if (isset ($ r ['rsf ' ]['acc ' ][ ' main ' ] ) && count ($ r ['rsf ' ]['acc ' ][ ' main ' ]) > 0 ) {
212- $ Region ->rsfHost = $ r ['rsf ' ]['acc ' ][ ' main ' ][0 ];
202+ if (isset ($ regionHost ['rsf ' ]['domains ' ] ) && count ($ regionHost ['rsf ' ]['domains ' ]) > 0 ) {
203+ $ region ->rsfHost = $ regionHost ['rsf ' ]['domains ' ][0 ];
213204 } else {
214- $ Region ->rsfHost = Config::RSF_HOST ;
205+ $ region ->rsfHost = Config::RSF_HOST ;
215206 }
216- if (isset ($ r ['api ' ]['acc ' ][ ' main ' ] ) && count ($ r ['api ' ]['acc ' ][ ' main ' ]) > 0 ) {
217- $ Region ->apiHost = $ r ['api ' ]['acc ' ][ ' main ' ][0 ];
207+ if (isset ($ regionHost ['api ' ]['domains ' ] ) && count ($ regionHost ['api ' ]['domains ' ]) > 0 ) {
208+ $ region ->apiHost = $ regionHost ['api ' ]['domains ' ][0 ];
218209 } else {
219- $ Region ->apiHost = Config::API_HOST ;
210+ $ region ->apiHost = Config::API_HOST ;
220211 }
221212
222213 // set ttl
223- $ Region ->ttl = $ r ['ttl ' ];
214+ $ region ->ttl = $ regionHost ['ttl ' ];
224215
225- return $ Region ;
216+ return $ region ;
226217 }
227218}
0 commit comments