Closed victorynox closed 8 years ago
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next = null) { $responseBody = $request->getAttribute('Response-Body'); $accept = $request->getHeaderLine('Accept'); if (isset($accept) && preg_match('#^application/([^+\s]+\+)?json#', $accept)) { $status = $response->getStatusCode(); $headers = $response->getHeaders(); $response = new JsonResponse($responseBody, $status, $headers); }else{ $result = ''; switch (true) { case gettype($responseBody) == 'array' : foreach ($responseBody as $valueArray) { $result = $result . ' - '; if(is_array($valueArray)){ foreach ($valueArray as $key => $value) { $result = $result . $key . ' - ' . $value . '; _ _ '; } $result = $result . '<br>' . PHP_EOL; }else{ $result = $valueArray . '<br>' . PHP_EOL; } } break; case is_numeric($responseBody) or is_string($responseBody) : $result = $responseBody . '<br>' . PHP_EOL; break; case is_bool($responseBody) : $result = $responseBody ? 'TRUE' : 'FALSE'; $result = $result . '<br>' . PHP_EOL; break; default: throw new \zaboy\rest\RestException( '$responseBody must be array, numeric or bool. But' . gettype($responseBody) . ' given.' ); } $response->getBody()->write($result); } if ($next) { return $next($request, $response); } return $response; }
Добавить проверку на то что элемент внутри массива массив Записывать результат в response через метод write()
done
Добавить проверку на то что элемент внутри массива массив Записывать результат в response через метод write()