@@ -35,7 +35,7 @@ discard block |
||
| 35 | 35 | ControllerContainerBuilder $builder, |
| 36 | 36 | Client $http, |
| 37 | 37 | $interface, |
| 38 | - $prefix='/') |
|
| 38 | + $prefix = '/') |
|
| 39 | 39 | { |
| 40 | 40 | $this->container = $builder->build($interface); |
| 41 | 41 | $this->http = $http; |
@@ -50,11 +50,11 @@ discard block |
||
| 50 | 50 | |
| 51 | 51 | $request = $this->createRequest($method, $route, $args); |
| 52 | 52 | |
| 53 | - if(MultiRpc::isRunning()){ |
|
| 53 | + if (MultiRpc::isRunning()) { |
|
| 54 | 54 | $op = $this->http->sendAsync($request); |
| 55 | 55 | $res = MultiRpc::wait($op); |
| 56 | 56 | return $this->mapResponse($method, $route, $res, $args); |
| 57 | - }else{ |
|
| 57 | + }else { |
|
| 58 | 58 | $res = $this->http->send($request); |
| 59 | 59 | return $this->mapResponse($method, $route, $res, $args); |
| 60 | 60 | } |
@@ -71,25 +71,25 @@ discard block |
||
| 71 | 71 | $params = $route->getRequestHandler()->getParamMetas(); |
| 72 | 72 | //TODO 支持 query、content、path以外的其他参数, 如cookie,path等 |
| 73 | 73 | $request = []; |
| 74 | - foreach ($params as $pos=>$param){ |
|
| 75 | - if(!array_key_exists($pos, $args) && $param->isOptional){ |
|
| 74 | + foreach ($params as $pos=>$param) { |
|
| 75 | + if (!array_key_exists($pos, $args) && $param->isOptional) { |
|
| 76 | 76 | $args[$pos] = $param->default; |
| 77 | 77 | } |
| 78 | 78 | array_key_exists($pos, $args) or \PhpBoot\abort( |
| 79 | 79 | $this->container->getClassName()." $actionName missing param {$param->name}"); |
| 80 | 80 | |
| 81 | - if(!$param->isPassedByReference){ |
|
| 81 | + if (!$param->isPassedByReference) { |
|
| 82 | 82 | ArrayHelper::set($request, $param->source, $args[$pos]); |
| 83 | 83 | } |
| 84 | 84 | } |
| 85 | 85 | |
| 86 | - if(isset($request['request'])){ |
|
| 86 | + if (isset($request['request'])) { |
|
| 87 | 87 | $request = $request['request']; |
| 88 | 88 | } |
| 89 | 89 | $uri = $route->getUri(); |
| 90 | - foreach($route->getPathParams() as $path){ |
|
| 91 | - if(isset($request[$path])){ |
|
| 92 | - $uri = str_replace('{'.$path.'}', urlencode($request[$path]) , $uri); |
|
| 90 | + foreach ($route->getPathParams() as $path) { |
|
| 91 | + if (isset($request[$path])) { |
|
| 92 | + $uri = str_replace('{'.$path.'}', urlencode($request[$path]), $uri); |
|
| 93 | 93 | unset($request[$path]); |
| 94 | 94 | } |
| 95 | 95 | } |
@@ -99,59 +99,59 @@ discard block |
||
| 99 | 99 | $body = null; |
| 100 | 100 | $headers = []; |
| 101 | 101 | |
| 102 | - if(isset($request['query'])){ |
|
| 102 | + if (isset($request['query'])) { |
|
| 103 | 103 | $query += $request['query']; |
| 104 | 104 | } |
| 105 | 105 | unset($request['query']); |
| 106 | 106 | |
| 107 | - if(isset($request['headers'])){ |
|
| 107 | + if (isset($request['headers'])) { |
|
| 108 | 108 | $headers += $request['headers']; |
| 109 | 109 | } |
| 110 | 110 | unset($request['headers']); |
| 111 | 111 | |
| 112 | - if(isset($request['cookies'])){ |
|
| 112 | + if (isset($request['cookies'])) { |
|
| 113 | 113 | $cookies = []; |
| 114 | - foreach ($request['cookies'] as $k=>$v){ |
|
| 114 | + foreach ($request['cookies'] as $k=>$v) { |
|
| 115 | 115 | $cookies[] = "$k=$v"; |
| 116 | 116 | } |
| 117 | 117 | $headers['Cookie'] = implode('; ', $cookies); |
| 118 | 118 | } |
| 119 | 119 | unset($request['cookies']); |
| 120 | 120 | |
| 121 | - if(isset($request['request'])){ |
|
| 122 | - if($body === null){ |
|
| 121 | + if (isset($request['request'])) { |
|
| 122 | + if ($body === null) { |
|
| 123 | 123 | $body = []; |
| 124 | 124 | } |
| 125 | 125 | $body += $request['request']; |
| 126 | 126 | } |
| 127 | 127 | unset($request['request']); |
| 128 | 128 | |
| 129 | - if(isset($request['files'])){ |
|
| 129 | + if (isset($request['files'])) { |
|
| 130 | 130 | \PhpBoot\abort(new \UnexpectedValueException("sending request with files is not support")); |
| 131 | 131 | } |
| 132 | - if(in_array($httpMethod, ['GET', 'OPTION'])){ |
|
| 133 | - foreach ($request as $k => $v){ |
|
| 134 | - if(!in_array($k, ['query', 'request', 'files', 'cookies', 'headers'])){ |
|
| 132 | + if (in_array($httpMethod, ['GET', 'OPTION'])) { |
|
| 133 | + foreach ($request as $k => $v) { |
|
| 134 | + if (!in_array($k, ['query', 'request', 'files', 'cookies', 'headers'])) { |
|
| 135 | 135 | $query[$k] = $v; |
| 136 | 136 | } |
| 137 | 137 | } |
| 138 | - }else{ |
|
| 139 | - foreach ($request as $k => $v){ |
|
| 140 | - if(!in_array($k, ['query', 'request', 'files', 'cookies', 'headers'])){ |
|
| 141 | - if($body === null){ |
|
| 138 | + }else { |
|
| 139 | + foreach ($request as $k => $v) { |
|
| 140 | + if (!in_array($k, ['query', 'request', 'files', 'cookies', 'headers'])) { |
|
| 141 | + if ($body === null) { |
|
| 142 | 142 | $body = []; |
| 143 | 143 | } |
| 144 | 144 | $body[$k] = $v; |
| 145 | 145 | } |
| 146 | 146 | } |
| 147 | 147 | } |
| 148 | - if($body !== null){ |
|
| 148 | + if ($body !== null) { |
|
| 149 | 149 | $body = json_encode($body, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); |
| 150 | 150 | } |
| 151 | 151 | $uri = $this->uriPrefix.ltrim($uri, '/'); |
| 152 | - if(strpos($uri,'?') === false){ |
|
| 152 | + if (strpos($uri, '?') === false) { |
|
| 153 | 153 | $uri = $uri.'?'.http_build_query($query); |
| 154 | - }else{ |
|
| 154 | + }else { |
|
| 155 | 155 | $uri = $uri.'&'.http_build_query($query); |
| 156 | 156 | } |
| 157 | 157 | return new \GuzzleHttp\Psr7\Request( |
@@ -163,7 +163,7 @@ discard block |
||
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | |
| 166 | - public function mapResponse($actionName, Route $route, ResponseInterface $response, $requestArg=[]) |
|
| 166 | + public function mapResponse($actionName, Route $route, ResponseInterface $response, $requestArg = []) |
|
| 167 | 167 | { |
| 168 | 168 | $response = \Symfony\Component\HttpFoundation\Response::create( |
| 169 | 169 | (string)$response->getBody(), |
@@ -172,9 +172,9 @@ discard block |
||
| 172 | 172 | ); |
| 173 | 173 | $namedArgs = []; |
| 174 | 174 | |
| 175 | - foreach ($route->getRequestHandler()->getParamMetas() as $pos=>$param){ |
|
| 175 | + foreach ($route->getRequestHandler()->getParamMetas() as $pos=>$param) { |
|
| 176 | 176 | |
| 177 | - if($param->isPassedByReference){ |
|
| 177 | + if ($param->isPassedByReference) { |
|
| 178 | 178 | $namedArgs[$param->name] = &$requestArg[$pos]; |
| 179 | 179 | } |
| 180 | 180 | } |
@@ -185,7 +185,7 @@ discard block |
||
| 185 | 185 | //TODO 远端接口没有抛出异常,但设置了 status( status 不是200)时如何处理 |
| 186 | 186 | $handler = $route->getResponseHandler(); |
| 187 | 187 | |
| 188 | - if($response->getStatusCode() >= 200 && $response->getStatusCode() <300){ |
|
| 188 | + if ($response->getStatusCode()>=200 && $response->getStatusCode()<300) { |
|
| 189 | 189 | |
| 190 | 190 | |
| 191 | 191 | $returns = $handler->getMappings(); |
@@ -202,30 +202,30 @@ discard block |
||
| 202 | 202 | 'params'=>$namedArgs |
| 203 | 203 | ]; |
| 204 | 204 | |
| 205 | - foreach ($returns as $map=>$return){ |
|
| 205 | + foreach ($returns as $map=>$return) { |
|
| 206 | 206 | |
| 207 | 207 | $data = \JmesPath\search($map, $buffer); |
| 208 | - if(!$return->container){ |
|
| 208 | + if (!$return->container) { |
|
| 209 | 209 | continue; |
| 210 | 210 | } |
| 211 | 211 | $data = $return->container->make($data, false); |
| 212 | 212 | ArrayHelper::set($mapping, $return->source, $data); |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | - }else{ |
|
| 215 | + }else { |
|
| 216 | 216 | |
| 217 | 217 | //TODO 如果多个 异常对应同一个 statusCode 怎么处理 |
| 218 | 218 | $exceptions = $route->getExceptionHandler()->getExceptions(); |
| 219 | 219 | |
| 220 | 220 | $errName = null; |
| 221 | - foreach ($exceptions as $err){ |
|
| 221 | + foreach ($exceptions as $err) { |
|
| 222 | 222 | |
| 223 | 223 | $renderer = $this->app->get(ExceptionRenderer::class); |
| 224 | 224 | $exec = $renderer->render( |
| 225 | 225 | $this->app->make($err, ['message'=>(string)$response->getContent()]) |
| 226 | 226 | ); |
| 227 | 227 | |
| 228 | - if( $exec->getStatusCode() == $response->getStatusCode()){ |
|
| 228 | + if ($exec->getStatusCode() == $response->getStatusCode()) { |
|
| 229 | 229 | throw $exec; |
| 230 | 230 | } |
| 231 | 231 | } |
@@ -233,7 +233,7 @@ discard block |
||
| 233 | 233 | |
| 234 | 234 | }; |
| 235 | 235 | |
| 236 | - if(isset($mapping['return'])){ |
|
| 236 | + if (isset($mapping['return'])) { |
|
| 237 | 237 | return $mapping['return']; |
| 238 | 238 | }; |
| 239 | 239 | } |
@@ -54,7 +54,7 @@ discard block |
||
| 54 | 54 | $op = $this->http->sendAsync($request); |
| 55 | 55 | $res = MultiRpc::wait($op); |
| 56 | 56 | return $this->mapResponse($method, $route, $res, $args); |
| 57 | - }else{ |
|
| 57 | + } else{ |
|
| 58 | 58 | $res = $this->http->send($request); |
| 59 | 59 | return $this->mapResponse($method, $route, $res, $args); |
| 60 | 60 | } |
@@ -135,7 +135,7 @@ discard block |
||
| 135 | 135 | $query[$k] = $v; |
| 136 | 136 | } |
| 137 | 137 | } |
| 138 | - }else{ |
|
| 138 | + } else{ |
|
| 139 | 139 | foreach ($request as $k => $v){ |
| 140 | 140 | if(!in_array($k, ['query', 'request', 'files', 'cookies', 'headers'])){ |
| 141 | 141 | if($body === null){ |
@@ -151,7 +151,7 @@ discard block |
||
| 151 | 151 | $uri = $this->uriPrefix.ltrim($uri, '/'); |
| 152 | 152 | if(strpos($uri,'?') === false){ |
| 153 | 153 | $uri = $uri.'?'.http_build_query($query); |
| 154 | - }else{ |
|
| 154 | + } else{ |
|
| 155 | 155 | $uri = $uri.'&'.http_build_query($query); |
| 156 | 156 | } |
| 157 | 157 | return new \GuzzleHttp\Psr7\Request( |
@@ -212,7 +212,7 @@ discard block |
||
| 212 | 212 | ArrayHelper::set($mapping, $return->source, $data); |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | - }else{ |
|
| 215 | + } else{ |
|
| 216 | 216 | |
| 217 | 217 | //TODO 如果多个 异常对应同一个 statusCode 怎么处理 |
| 218 | 218 | $exceptions = $route->getExceptionHandler()->getExceptions(); |