11
11
12
12
namespace hiqdev \hiart ;
13
13
14
- use common \components \Err ;
15
14
use Yii ;
16
15
use yii \base \Component ;
17
16
use yii \base \InvalidConfigException ;
@@ -41,10 +40,10 @@ class Connection extends Component
41
40
private function _getAuth ()
42
41
{
43
42
$ res = [];
44
- if (\ Yii::$ app ->user ->identity ) {
45
- $ res ['access_token ' ] = \ Yii::$ app ->user ->identity ->getAccessToken ();
43
+ if (Yii::$ app ->user ->identity ) {
44
+ $ res ['access_token ' ] = Yii::$ app ->user ->identity ->getAccessToken ();
46
45
} else {
47
- \ Yii::$ app ->user ->loginRequired ();
46
+ Yii::$ app ->user ->loginRequired ();
48
47
}
49
48
50
49
return $ res ;
@@ -265,7 +264,7 @@ private function createUrl($path, $options = [])
265
264
protected function httpRequest ($ method , $ url , $ requestBody = null , $ raw = false )
266
265
{
267
266
$ this ->auth = [
268
- 'access_token ' => \ Yii::$ app ->user ->identity ->getAccessToken (),
267
+ 'access_token ' => Yii::$ app ->user ->identity ->getAccessToken (),
269
268
];
270
269
$ method = strtoupper ($ method );
271
270
// response body and headers
@@ -415,6 +414,11 @@ protected function decodeErrorBody($body)
415
414
}
416
415
}
417
416
417
+ /**
418
+ * Callback to test if API response has error.
419
+ */
420
+ public $ errorChecker ;
421
+
418
422
/**
419
423
* @param array $response response data from API
420
424
* @param string $url request URL
@@ -426,8 +430,9 @@ protected function decodeErrorBody($body)
426
430
*/
427
431
protected function checkResponse ($ response , $ url , $ options )
428
432
{
429
- if (Err::is ($ response )) {
430
- throw new ErrorResponseException (Err::get ($ response ), [
433
+ $ error = call_user_func ($ this ->errorChecker , $ response );
434
+ if ($ error ) {
435
+ throw new ErrorResponseException ($ error , [
431
436
'requestUrl ' => $ url ,
432
437
'request ' => $ options ,
433
438
'response ' => $ response ,
0 commit comments