示例#1
0
 /**
  * @param HttpResponse $response
  * @param callable|null $success
  * @param callable|null $failed
  * @return mixed
  * @throws ResponseException
  */
 protected static function handleResponse(HttpResponse $response, callable $success = null, callable $failed = null)
 {
     $httpCode = (int) $response->getHeader('http-code');
     if ($httpCode === 200) {
         return call_user_func($success, $response);
     } else {
         if ($failed) {
             return call_user_func($failed, $response);
         } else {
             $data = $response->getData();
             throw new ResponseException($data['msg'], $data['code']);
         }
     }
 }