Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
45.45% |
5 / 11 |
CRAP | |
81.82% |
27 / 33 |
ClientCommon | |
0.00% |
0 / 1 |
|
45.45% |
5 / 11 |
21.17 | |
81.82% |
27 / 33 |
get | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
post | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
put | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
delete | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
send | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
systemSend | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
isInit | |
100.00% |
1 / 1 |
2 | |
100.00% |
3 / 3 |
|||
init | |
100.00% |
1 / 1 |
2 | |
100.00% |
4 / 4 |
|||
setToken | |
0.00% |
0 / 1 |
2.06 | |
75.00% |
3 / 4 |
|||
setUserId | |
0.00% |
0 / 1 |
6.01 | |
92.86% |
13 / 14 |
|||
setSytemToken | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
1 | <?php |
2 | |
3 | namespace Qmp\Laravel\MicroService\Client; |
4 | |
5 | use Qmp\Laravel\MicroService\Client\Exceptions\ClientException; |
6 | use Qmp\Laravel\MicroService\Client\Tools\Http; |
7 | use Qmp\Laravel\MicroService\Client\Tools\Request; |
8 | |
9 | class ClientCommon |
10 | { |
11 | const KEYWORD_HEADER_REQUEST = 'X-Qwamplify-user-id'; |
12 | const KEYWORD_HEADER_REQUEST_SYSTEM_CALL = 'X-Qwamplify-system-token'; |
13 | const KEYWORD_HEADER_REQUEST_AUTH_TYPE = 'x-auth-type'; |
14 | const KEYWORD_HEADER_REQUEST_ORIGIN = 'x-origin'; |
15 | |
16 | /** |
17 | * @var Http |
18 | */ |
19 | protected static $http; |
20 | |
21 | /** |
22 | * Get data |
23 | * |
24 | * @param Request $request |
25 | * @param null|int $id |
26 | * @return \GuzzleHttp\Promise\PromiseInterface|Tools\Response |
27 | */ |
28 | public static function get(Request $request, $id = null) |
29 | { |
30 | return static::send(Request::METHOD_GET, $request, $id); |
31 | } |
32 | |
33 | public static function post(Request $request, $id = null) |
34 | { |
35 | return static::send(Request::METHOD_POST, $request, $id); |
36 | } |
37 | |
38 | public static function put(Request $request, $id = null) |
39 | { |
40 | return static::send(Request::METHOD_PUT, $request, $id); |
41 | } |
42 | |
43 | public static function delete(Request $request, $id = null) |
44 | { |
45 | return static::send(Request::METHOD_DELETE, $request, $id); |
46 | } |
47 | |
48 | protected static function send($method, Request $request, $id = null) |
49 | { |
50 | return; |
51 | } |
52 | |
53 | public static function systemSend($method, Request $request, $id = null) |
54 | { |
55 | return; |
56 | } |
57 | |
58 | /** |
59 | * Check initialisation |
60 | * |
61 | * @param Request $request |
62 | */ |
63 | protected static function isInit(Request $request) |
64 | { |
65 | if (!(static::$http instanceof Http)) { |
66 | static::init($request); |
67 | } |
68 | } |
69 | |
70 | /** |
71 | * Initialise Client for API use |
72 | * |
73 | * @param Request $request |
74 | * @throws ClientException |
75 | */ |
76 | protected static function init(Request $request) |
77 | { |
78 | if ($request->getUrl() === null) { |
79 | throw new ClientException('Base url must be setted', 20); |
80 | } |
81 | static::$http = new Http(new \GuzzleHttp\Client(['base_uri' => $request->getUrl()])); |
82 | } |
83 | |
84 | /** |
85 | * @param Request $request |
86 | */ |
87 | protected static function setToken(Request $request) |
88 | { |
89 | $token = request()->header('Authorization'); |
90 | if (!empty($token)) { |
91 | $request->setToken($token); |
92 | } |
93 | } |
94 | |
95 | /** |
96 | * @param Request $request |
97 | */ |
98 | protected static function setUserId(Request $request) |
99 | { |
100 | $requestHttp = request(); |
101 | |
102 | $userId = $requestHttp->auth_user_id; |
103 | if(empty($userId)) { |
104 | $userId = $requestHttp->header(Client::KEYWORD_HEADER_REQUEST); |
105 | } |
106 | if (!empty($userId)) { |
107 | $request->setUserId($userId); |
108 | } |
109 | |
110 | $authType = $requestHttp->auth_type; |
111 | if(empty($authType)) { |
112 | $authType = $requestHttp->header(Client::KEYWORD_HEADER_REQUEST_AUTH_TYPE); |
113 | } |
114 | if (empty($authType)) { |
115 | $authType = 'internal'; |
116 | } |
117 | if (!empty($authType)) { |
118 | $request->setAuthType(strtolower($authType)); |
119 | } |
120 | } |
121 | |
122 | /** |
123 | * @param Request $request |
124 | */ |
125 | protected static function setSytemToken(Request $request) |
126 | { |
127 | $request->setSystemToken(env('TOKEN_SYSTEM_CALL')); |
128 | } |
129 | } |