Example #1
0
 /**
  * @param Request $request
  * @param ModelAbstract|null $model
  *
  * @return array|null
  */
 public function execute(Request $request)
 {
     if ($request instanceof PrivateRequest) {
         $request->setOption('publicKey', $this->getPublicKey())->setOption('secretKey', $this->getSecretKey());
     }
     if ($request->prepareRequest() !== true) {
         throw new ModelException($request->getError());
     }
     $response = $this->httpClient->request($request->getMethod(), $request->getUri(), ['query' => $request->buildParams()]);
     if ($response->getStatusCode() !== 200) {
         return null;
     }
     $body = $response->getBody();
     $contents = $body->getContents();
     return self::jsonDecode($contents, true);
 }