Formatting.
This commit is contained in:
parent
eb236a7836
commit
ffc259e4cb
6 changed files with 33 additions and 29 deletions
src
Controllers
Middleware
PSR
Router
tests
|
@ -52,8 +52,8 @@ abstract class AbstractCrudController extends AbstractController
|
|||
if ($object) {
|
||||
return $this->jsonResponse(
|
||||
[
|
||||
'Status' => 'Okay',
|
||||
'Action' => 'GET',
|
||||
'Status' => 'Okay',
|
||||
'Action' => 'GET',
|
||||
$this->getService()->getTermSingular() => $object->__toArray(),
|
||||
],
|
||||
$request,
|
||||
|
@ -84,8 +84,8 @@ abstract class AbstractCrudController extends AbstractController
|
|||
|
||||
return $this->jsonResponse(
|
||||
[
|
||||
'Status' => 'Okay',
|
||||
'Action' => 'CREATE',
|
||||
'Status' => 'Okay',
|
||||
'Action' => 'CREATE',
|
||||
$this->getService()->getTermSingular() => $object->__toArray(),
|
||||
],
|
||||
$request,
|
||||
|
@ -106,8 +106,8 @@ abstract class AbstractCrudController extends AbstractController
|
|||
|
||||
return $this->jsonResponse(
|
||||
[
|
||||
'Status' => 'Okay',
|
||||
'Action' => 'DELETE',
|
||||
'Status' => 'Okay',
|
||||
'Action' => 'DELETE',
|
||||
$this->getService()->getTermSingular() => $array,
|
||||
],
|
||||
$request,
|
||||
|
|
|
@ -16,9 +16,10 @@ class JsonResponseUnpackerMiddleware implements MiddlewareInterface
|
|||
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
||||
{
|
||||
$response = $handler->handle($request);
|
||||
if($response->hasHeader("Content-Type") && $response->getHeader("Content-Type")[0] === "application/json" && $response instanceof Response) {
|
||||
if ($response->hasHeader('Content-Type') && $response->getHeader('Content-Type')[0] === 'application/json' && $response instanceof Response) {
|
||||
$response = new JsonResponse($response);
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,29 +6,28 @@ namespace Benzine\PSR;
|
|||
|
||||
use Ergebnis\Json\Json;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
use Psr\Http\Server\MiddlewareInterface;
|
||||
use Psr\Http\Server\RequestHandlerInterface;
|
||||
use Slim\Psr7\Response;
|
||||
|
||||
class JsonResponse implements ResponseInterface
|
||||
{
|
||||
public function __construct(protected Response $response)
|
||||
{
|
||||
}
|
||||
public function getJson() : Json
|
||||
public function __construct(protected Response $response) {}
|
||||
|
||||
public function getJson(): Json
|
||||
{
|
||||
$this->getBody()->rewind();
|
||||
$json = Json::fromString($this->getBody()->getContents());
|
||||
$this->getBody()->rewind();
|
||||
|
||||
return $json;
|
||||
}
|
||||
public function setJson(Json $json) : self
|
||||
|
||||
public function setJson(Json $json): self
|
||||
{
|
||||
$this->getBody()->rewind();
|
||||
$this->getBody()->write($json->toString());
|
||||
$this->getBody()->rewind();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
@ -101,4 +100,4 @@ class JsonResponse implements ResponseInterface
|
|||
{
|
||||
return $this->response->getReasonPhrase();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,8 +23,7 @@ class Router
|
|||
public function __construct(
|
||||
protected Logger $logger,
|
||||
protected CachePoolChain $cachePoolChain
|
||||
)
|
||||
{}
|
||||
) {}
|
||||
|
||||
public function loadRoutesFromAnnotations(
|
||||
array $controllerPaths,
|
||||
|
@ -53,19 +52,21 @@ class Router
|
|||
|
||||
foreach ($expectedClasses as $expectedClass) {
|
||||
if (!class_exists($expectedClass)) {
|
||||
$this->logger->warning("While loading routes from annotations in {file}, expected class {expectedClass} does not exist.", [
|
||||
$this->logger->warning('While loading routes from annotations in {file}, expected class {expectedClass} does not exist.', [
|
||||
'file' => $controllerFile[0],
|
||||
'expectedClass' => $expectedClass,
|
||||
]);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
$rc = new \ReflectionClass($expectedClass);
|
||||
if ($rc->isAbstract()) {
|
||||
$this->logger->warning("While loading routes from annotations in {file}, expected class {expectedClass} is abstract.", [
|
||||
$this->logger->warning('While loading routes from annotations in {file}, expected class {expectedClass} is abstract.', [
|
||||
'file' => $controllerFile[0],
|
||||
'expectedClass' => $expectedClass,
|
||||
]);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -82,7 +83,6 @@ class Router
|
|||
}
|
||||
|
||||
foreach ($routeAnnotation->methods as $httpMethod) {
|
||||
|
||||
$newRoute = (new Route())
|
||||
->setHttpMethod($httpMethod)
|
||||
->setRouterPattern('/' . ltrim($routeAnnotation->path, '/'))
|
||||
|
|
|
@ -49,7 +49,7 @@ abstract class AbstractBaseTestCase extends AbstractTestCase
|
|||
*
|
||||
* @return mixed method return
|
||||
*/
|
||||
public function invokeMethod(&$object, $methodName, array $parameters = []) : mixed
|
||||
public function invokeMethod(&$object, $methodName, array $parameters = []): mixed
|
||||
{
|
||||
$reflection = new \ReflectionClass($object::class);
|
||||
$method = $reflection->getMethod($methodName);
|
||||
|
@ -58,7 +58,7 @@ abstract class AbstractBaseTestCase extends AbstractTestCase
|
|||
return $method->invokeArgs($object, $parameters);
|
||||
}
|
||||
|
||||
public function setProtectedProperty(&$object, $property, $value) : self
|
||||
public function setProtectedProperty(&$object, $property, $value): self
|
||||
{
|
||||
$reflection = new \ReflectionClass($object::class);
|
||||
$prop = $reflection->getProperty($property);
|
||||
|
|
|
@ -8,7 +8,6 @@ use Benzine\App as BenzineApp;
|
|||
use Benzine\Middleware\JsonResponse;
|
||||
use DI\Container;
|
||||
use Ergebnis\Json\Json;
|
||||
use Middlewares\Utils\Factory;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
|
@ -151,14 +150,17 @@ trait AppTestTrait
|
|||
$this->assertSame($expected, (array) json_decode($actual, true));
|
||||
}
|
||||
|
||||
static protected function getHttpHandler() : SlimApp {
|
||||
protected static function getHttpHandler(): SlimApp
|
||||
{
|
||||
return self::$app
|
||||
->loadAllRoutes()
|
||||
->getApp()
|
||||
->addMiddleware(new JsonResponseUnpackerMiddleware());
|
||||
->addMiddleware(new JsonResponseUnpackerMiddleware())
|
||||
;
|
||||
}
|
||||
|
||||
static protected function send(string $method, string $uri, ?array $data = []) : ResponseInterface {
|
||||
protected static function send(string $method, string $uri, ?array $data = []): ResponseInterface
|
||||
{
|
||||
$request = new Request(
|
||||
method: $method,
|
||||
uri: new \GuzzleHttp\Psr7\Uri($uri),
|
||||
|
@ -170,10 +172,12 @@ trait AppTestTrait
|
|||
);
|
||||
$request = $request->withParsedBody(Json::fromString(json_encode($data))->decoded());
|
||||
$request = $request->withHeader('Content-Type', 'application/json');
|
||||
|
||||
return self::handle($request);
|
||||
}
|
||||
|
||||
static function handle(Request $request) : JsonResponse|Response|ResponseInterface {
|
||||
public static function handle(Request $request): JsonResponse | Response | ResponseInterface
|
||||
{
|
||||
return self::getHttpHandler()->handle($request);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue