PluginProbe
AliNext – WooCommerce Dropshipping Plugin for AliExpress / trunk
AliNext – WooCommerce Dropshipping Plugin for AliExpress vtrunk
ali2woo-lite / includes / classes / api / AbstractClient.php

AbstractClient.php in AliNext – WooCommerce Dropshipping Plugin for AliExpress trunk, at includes/classes/api/AbstractClient.php

78 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Description of AbstractClient
5 *
6 * @author Ali2Woo Team
7 */
8
9 namespace AliNext_Lite;;
10
11 abstract class AbstractClient {
12
13 //todo: deprecated; use convertResponse instead
14 protected function handleRequestResult($request): array
15 {
16 if (is_wp_error($request)) {
17 return ResultBuilder::buildError($request->get_error_message());
18 }
19
20 if (intval($request['response']['code']) !== 200) {
21 $message = $request['response']['code'];
22 if (!empty($request['response']['message'])) {
23 $message .= ' - ' . $request['response']['message'];
24 }
25
26 return ResultBuilder::buildError(
27 $message,
28 ['error_code' => $request['response']['code']]
29 );
30 }
31
32 $result = json_decode($request['body'], true);
33
34 if ($result[ApiResponse::FIELD_STATE] === ApiResponse::STATE_ERROR) {
35 return ResultBuilder::buildError($result[ApiResponse::FIELD_MESSAGE]);
36 }
37
38 return $result;
39 }
40
41 /**
42 * Check and convert array response to ApiResponse
43 * @param $request
44 * @return ApiResponse
45 */
46 protected function convertResponse($request): ApiResponse
47 {
48 $ApiResponse = (new ApiResponse())->setStateOk();
49
50 if (is_wp_error($request)) {
51 return $ApiResponse->setStateError($request->get_error_message());
52 }
53
54 if (intval($request['response']['code']) !== 200) {
55 $message = $request['response']['code'];
56 if (!empty($request['response']['message'])) {
57 $message .= ' - ' . $request['response']['message'];
58 }
59
60 return $ApiResponse
61 ->setStateError($message)
62 ->setData(['error_code' => $request['response']['code']]);
63 }
64
65 $result = json_decode($request['body'], true);
66
67 if ($result[ApiResponse::FIELD_STATE] === ApiResponse::STATE_ERROR) {
68
69 return $ApiResponse->setStateError($result[ApiResponse::FIELD_MESSAGE]);
70 } else {
71 unset($result[ApiResponse::FIELD_STATE]);
72 $ApiResponse->setData($result);
73 }
74
75 return $ApiResponse;
76 }
77 }
78