From c5c639b62b13efa8377024c6fa25ddc3901ebe38 Mon Sep 17 00:00:00 2001 From: Brad Crumb Date: Sat, 23 Sep 2017 09:31:20 +0200 Subject: [PATCH] Zend Expressive fix and upgrade to version 2 (#6461) * upgraded zend-expressive from version 1 to 2 * Changed error handler for compatibility with Zend Expressive 2 * generated newest sample files for Petstore ze-ph * removed ErrorMiddleware because it is never been used anymore. Regenerated samples * removed ErrorMiddleware Template from Codegen * remove ErrorMiddleware from petstore sample * Fixed some code styles * regenerated ze-ph samples with corrected code styles * added new line at the end of the file --- ...endExpressivePathHandlerServerCodegen.java | 1 - .../main/resources/ze-ph/Date.php.mustache | 8 +++-- .../resources/ze-ph/DateTime.php.mustache | 4 ++- .../ze-ph/ErrorMiddleware.php.mustache | 20 ----------- .../main/resources/ze-ph/Type.php.mustache | 2 +- .../src/main/resources/ze-ph/api.mustache | 5 ++- .../src/main/resources/ze-ph/app.yml.mustache | 17 ++++++--- .../resources/ze-ph/composer.json.mustache | 10 +++--- .../src/main/resources/ze-ph/config.yml | 1 + .../src/main/resources/ze-ph/index.php | 2 +- .../src/main/resources/ze-ph/model.mustache | 5 ++- .../petstore/ze-ph/.swagger-codegen/VERSION | 2 +- .../petstore/ze-ph/application/config.yml | 1 + .../petstore/ze-ph/application/config/app.yml | 17 ++++++--- .../ze-ph/application/config/path_handler.yml | 14 ++++++++ samples/server/petstore/ze-ph/composer.json | 10 +++--- .../server/petstore/ze-ph/public/index.php | 2 +- .../src/App/DTO/AdditionalPropertiesClass.php | 3 +- .../petstore/ze-ph/src/App/DTO/Animal.php | 3 +- .../petstore/ze-ph/src/App/DTO/AnimalFarm.php | 3 +- .../ze-ph/src/App/DTO/ApiResponse.php | 3 +- .../src/App/DTO/ArrayOfArrayOfNumberOnly.php | 3 +- .../ze-ph/src/App/DTO/ArrayOfNumberOnly.php | 3 +- .../petstore/ze-ph/src/App/DTO/ArrayTest.php | 3 +- .../ze-ph/src/App/DTO/Capitalization.php | 3 +- .../server/petstore/ze-ph/src/App/DTO/Cat.php | 3 +- .../petstore/ze-ph/src/App/DTO/Category.php | 3 +- .../petstore/ze-ph/src/App/DTO/ClassModel.php | 3 +- .../petstore/ze-ph/src/App/DTO/Client.php | 3 +- .../server/petstore/ze-ph/src/App/DTO/Dog.php | 3 +- .../petstore/ze-ph/src/App/DTO/EnumArrays.php | 3 +- .../petstore/ze-ph/src/App/DTO/EnumClass.php | 3 +- .../petstore/ze-ph/src/App/DTO/EnumTest.php | 3 +- .../petstore/ze-ph/src/App/DTO/FormatTest.php | 5 +-- .../ze-ph/src/App/DTO/HasOnlyReadOnly.php | 3 +- .../petstore/ze-ph/src/App/DTO/MapTest.php | 3 +- ...PropertiesAndAdditionalPropertiesClass.php | 3 +- .../ze-ph/src/App/DTO/Model200Response.php | 3 +- .../ze-ph/src/App/DTO/ModelReturn.php | 3 +- .../petstore/ze-ph/src/App/DTO/Name.php | 3 +- .../petstore/ze-ph/src/App/DTO/NumberOnly.php | 3 +- .../petstore/ze-ph/src/App/DTO/Order.php | 3 +- .../ze-ph/src/App/DTO/OuterBoolean.php | 3 +- .../ze-ph/src/App/DTO/OuterComposite.php | 3 +- .../petstore/ze-ph/src/App/DTO/OuterEnum.php | 3 +- .../ze-ph/src/App/DTO/OuterNumber.php | 3 +- .../ze-ph/src/App/DTO/OuterString.php | 3 +- .../server/petstore/ze-ph/src/App/DTO/Pet.php | 3 +- .../ze-ph/src/App/DTO/ReadOnlyFirst.php | 3 +- .../ze-ph/src/App/DTO/SpecialModelName.php | 3 +- .../server/petstore/ze-ph/src/App/DTO/Tag.php | 3 +- .../petstore/ze-ph/src/App/DTO/User.php | 3 +- .../ze-ph/src/App/ErrorMiddleware.php | 20 ----------- .../petstore/ze-ph/src/App/Handler/Fake.php | 11 +++++- .../src/App/Handler/FakeClassnameTest.php | 35 +++++++++++++++++++ .../src/App/Handler/FakeJsonFormData.php | 26 ++++++++++++++ .../src/App/Handler/FakeOuterBoolean.php | 5 ++- .../src/App/Handler/FakeOuterComposite.php | 5 ++- .../ze-ph/src/App/Handler/FakeOuterNumber.php | 5 ++- .../ze-ph/src/App/Handler/FakeOuterString.php | 5 ++- .../petstore/ze-ph/src/App/Handler/Pet.php | 7 +++- .../ze-ph/src/App/Handler/PetFindByStatus.php | 5 ++- .../ze-ph/src/App/Handler/PetFindByTags.php | 5 ++- .../ze-ph/src/App/Handler/PetPetId.php | 11 +++++- .../src/App/Handler/PetPetIdUploadImage.php | 5 ++- .../ze-ph/src/App/Handler/StoreInventory.php | 5 ++- .../ze-ph/src/App/Handler/StoreOrder.php | 5 ++- .../src/App/Handler/StoreOrderOrderId.php | 8 ++++- .../petstore/ze-ph/src/App/Handler/User.php | 4 ++- .../src/App/Handler/UserCreateWithArray.php | 4 ++- .../src/App/Handler/UserCreateWithList.php | 4 ++- .../ze-ph/src/App/Handler/UserLogin.php | 5 ++- .../ze-ph/src/App/Handler/UserLogout.php | 4 ++- .../ze-ph/src/App/Handler/UserUsername.php | 11 +++++- .../petstore/ze-ph/src/App/Strategy/Date.php | 8 +++-- .../ze-ph/src/App/Strategy/DateTime.php | 4 ++- .../petstore/ze-ph/src/App/Validator/Type.php | 2 +- 77 files changed, 274 insertions(+), 163 deletions(-) delete mode 100644 modules/swagger-codegen/src/main/resources/ze-ph/ErrorMiddleware.php.mustache delete mode 100644 samples/server/petstore/ze-ph/src/App/ErrorMiddleware.php create mode 100644 samples/server/petstore/ze-ph/src/App/Handler/FakeClassnameTest.php create mode 100644 samples/server/petstore/ze-ph/src/App/Handler/FakeJsonFormData.php diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ZendExpressivePathHandlerServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ZendExpressivePathHandlerServerCodegen.java index 12328c64d58..91cf0a40ad0 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ZendExpressivePathHandlerServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ZendExpressivePathHandlerServerCodegen.java @@ -55,7 +55,6 @@ public class ZendExpressivePathHandlerServerCodegen extends AbstractPhpCodegen { supportingFiles.add(new SupportingFile("Date.php.mustache", packagePath + File.separator + srcBasePath + File.separator + "Strategy", "Date.php")); supportingFiles.add(new SupportingFile("DateTime.php.mustache", packagePath + File.separator + srcBasePath + File.separator + "Strategy", "DateTime.php")); supportingFiles.add(new SupportingFile("Type.php.mustache", packagePath + File.separator + srcBasePath + File.separator + "Validator", "Type.php")); - supportingFiles.add(new SupportingFile("ErrorMiddleware.php.mustache", packagePath + File.separator + srcBasePath, "ErrorMiddleware.php")); additionalProperties.put(CodegenConstants.ARTIFACT_VERSION, "1.0.0"); } diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/Date.php.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/Date.php.mustache index 89bcf5ba0ec..4edbca0486b 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/Date.php.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/Date.php.mustache @@ -12,6 +12,10 @@ class Date extends DateTime */ protected function parseDateString($arrayValue) { - return \DateTime::createFromFormat(static::DATE_TIME_FORMAT.' H:i:sP', $arrayValue.' 00:00:00+00:00', new \DateTimeZone('UTC')); + return \DateTime::createFromFormat( + static::DATE_TIME_FORMAT . ' H:i:sP', + $arrayValue . ' 00:00:00+00:00', + new \DateTimeZone('UTC') + ); } -} \ No newline at end of file +} diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/DateTime.php.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/DateTime.php.mustache index 53eae99be48..1c3a7ad6efd 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/DateTime.php.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/DateTime.php.mustache @@ -1,11 +1,13 @@ withStatus(500, 'Internal server error'); - $response->getBody()->write((string)$error); - error_log((string) $error); - return ($out === null)? $response : $out($request, $response); - } -} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/Type.php.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/Type.php.mustache index 050fbbef54b..812da6cb80b 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/Type.php.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/Type.php.mustache @@ -68,4 +68,4 @@ class Type extends AbstractValidator throw new \InvalidArgumentException(sprintf('Can not check for type %s.', $this->type)); } } -} \ No newline at end of file +} diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/api.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/api.mustache index a2463ccfb65..fdaf4ca7ba7 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/api.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/api.mustache @@ -11,7 +11,6 @@ use Articus\PathHandler\Exception as PHException; use Psr\Http\Message\ServerRequestInterface; {{#operations}} - {{#description}} /** * {{&description}} @@ -40,7 +39,11 @@ class {{classname}} implements {{interfacesToImplement}} * TODO check if producer is valid, if it has correct priority and if it can be moved to class annotation * @PHA\Producer(name=PHProducer\Transfer::class, mediaType="{{mediaType}}") {{/produces}} + * @param ServerRequestInterface $request + * + * @throws PHException\HttpCode 500 if the method is not implemented {{#returnType}} + * * @return {{returnType}} {{/returnType}} */ diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/app.yml.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/app.yml.mustache index 1cabd291fd6..425019ca115 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/app.yml.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/app.yml.mustache @@ -3,17 +3,24 @@ dependencies: #Has to add this line because currently router is strict requirement for Zend\Expressive\Application even if only middleware_pipeline is used Zend\Expressive\Router\RouterInterface: Zend\Expressive\Router\ZendRouter Zend\Diactoros\Response\EmitterInterface: Zend\Diactoros\Response\SapiStreamEmitter - {{invokerPackage}}\ErrorMiddleware: {{invokerPackage}}\ErrorMiddleware factories: Zend\Expressive\Application: Zend\Expressive\Container\ApplicationFactory Articus\PathHandler\Middleware: Articus\PathHandler\MiddlewareFactory Articus\DataTransfer\Service: Articus\DataTransfer\ServiceFactory + Zend\Stratigility\Middleware\ErrorHandler: Zend\Expressive\Container\ErrorHandlerFactory + Zend\Expressive\Middleware\ErrorResponseGenerator: Zend\Expressive\Container\WhoopsErrorResponseGeneratorFactory + Zend\Expressive\Whoops: Zend\Expressive\Container\WhoopsFactory + Zend\Expressive\WhoopsPageHandler: Zend\Expressive\Container\WhoopsPageHandlerFactory middleware_pipeline: + error: + middleware: Zend\Stratigility\Middleware\ErrorHandler api: middleware: Articus\PathHandler\Middleware path: {{basePathWithoutHost}} - error: - middleware: {{invokerPackage}}\ErrorMiddleware - error: true - priority: -10000 + +whoops: + json_exceptions: + display: true + show_trace: true + ajax_only: true diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/composer.json.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/composer.json.mustache index df263a37b8e..aaf19cbddeb 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/composer.json.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/composer.json.mustache @@ -7,12 +7,14 @@ "require": { "php": "^5.6 || ^7.0", "ext-yaml" : "^1.2 || ^2.0", - "zendframework/zend-expressive": "^1.0", - "zendframework/zend-expressive-router": "1.2.*", - "articus/path-handler": "0.1.*", + "zendframework/zend-expressive": "^2.0", + "zendframework/zend-expressive-router": "^2.1", + "zendframework/zend-expressive-zendrouter": "^2.0", + "articus/path-handler": "0.2.*", "articus/data-transfer": "*", "zendframework/zend-serializer": "*", - "zendframework/zend-config": "*" + "zendframework/zend-config": "*", + "filp/whoops": "^2.1.7" }, "autoload": { "psr-4": { diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/config.yml b/modules/swagger-codegen/src/main/resources/ze-ph/config.yml index dce9c534bcd..1a6111a88f5 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/config.yml +++ b/modules/swagger-codegen/src/main/resources/ze-ph/config.yml @@ -1,2 +1,3 @@ #App cache_configuration: false +debug: true diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/index.php b/modules/swagger-codegen/src/main/resources/ze-ph/index.php index 09e8b0233e4..fcb6dd63852 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/index.php +++ b/modules/swagger-codegen/src/main/resources/ze-ph/index.php @@ -7,4 +7,4 @@ $container = require_once __DIR__.'/../application/container.php'; /** @var \Zend\Expressive\Application $app */ $app = $container->get(\Zend\Expressive\Application::class); -$app->run(); \ No newline at end of file +$app->run(); diff --git a/modules/swagger-codegen/src/main/resources/ze-ph/model.mustache b/modules/swagger-codegen/src/main/resources/ze-ph/model.mustache index 5aad31bf70f..a9106820843 100644 --- a/modules/swagger-codegen/src/main/resources/ze-ph/model.mustache +++ b/modules/swagger-codegen/src/main/resources/ze-ph/model.mustache @@ -9,7 +9,7 @@ use Articus\DataTransfer\Annotation as DTA; * {{description}} {{/description}} */ -class {{classname}} +class {{classname}} { {{#vars}} /** @@ -127,5 +127,4 @@ class {{classname}} */ public ${{name}}; {{/vars}} -} -{{/model}}{{/models}} +}{{/model}}{{/models}} diff --git a/samples/server/petstore/ze-ph/.swagger-codegen/VERSION b/samples/server/petstore/ze-ph/.swagger-codegen/VERSION index 7fea99011a6..f9f7450d135 100644 --- a/samples/server/petstore/ze-ph/.swagger-codegen/VERSION +++ b/samples/server/petstore/ze-ph/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/ze-ph/application/config.yml b/samples/server/petstore/ze-ph/application/config.yml index dce9c534bcd..1a6111a88f5 100644 --- a/samples/server/petstore/ze-ph/application/config.yml +++ b/samples/server/petstore/ze-ph/application/config.yml @@ -1,2 +1,3 @@ #App cache_configuration: false +debug: true diff --git a/samples/server/petstore/ze-ph/application/config/app.yml b/samples/server/petstore/ze-ph/application/config/app.yml index d91bcd21339..414b59389f1 100644 --- a/samples/server/petstore/ze-ph/application/config/app.yml +++ b/samples/server/petstore/ze-ph/application/config/app.yml @@ -3,17 +3,24 @@ dependencies: #Has to add this line because currently router is strict requirement for Zend\Expressive\Application even if only middleware_pipeline is used Zend\Expressive\Router\RouterInterface: Zend\Expressive\Router\ZendRouter Zend\Diactoros\Response\EmitterInterface: Zend\Diactoros\Response\SapiStreamEmitter - App\ErrorMiddleware: App\ErrorMiddleware factories: Zend\Expressive\Application: Zend\Expressive\Container\ApplicationFactory Articus\PathHandler\Middleware: Articus\PathHandler\MiddlewareFactory Articus\DataTransfer\Service: Articus\DataTransfer\ServiceFactory + Zend\Stratigility\Middleware\ErrorHandler: Zend\Expressive\Container\ErrorHandlerFactory + Zend\Expressive\Middleware\ErrorResponseGenerator: Zend\Expressive\Container\WhoopsErrorResponseGeneratorFactory + Zend\Expressive\Whoops: Zend\Expressive\Container\WhoopsFactory + Zend\Expressive\WhoopsPageHandler: Zend\Expressive\Container\WhoopsPageHandlerFactory middleware_pipeline: + error: + middleware: Zend\Stratigility\Middleware\ErrorHandler api: middleware: Articus\PathHandler\Middleware path: /v2 - error: - middleware: App\ErrorMiddleware - error: true - priority: -10000 + +whoops: + json_exceptions: + display: true + show_trace: true + ajax_only: true diff --git a/samples/server/petstore/ze-ph/application/config/path_handler.yml b/samples/server/petstore/ze-ph/application/config/path_handler.yml index 2b91ca7d58d..58ad234f634 100644 --- a/samples/server/petstore/ze-ph/application/config/path_handler.yml +++ b/samples/server/petstore/ze-ph/application/config/path_handler.yml @@ -9,6 +9,12 @@ path_handler: handler: Fake may_terminate: true child_routes: + 'jsonFormData': + type: Literal + options: + route: /jsonFormData + defaults: + handler: FakeJsonFormData 'outer': type: Literal options: @@ -38,6 +44,12 @@ path_handler: route: /string defaults: handler: FakeOuterString + 'fake_classname_test': + type: Literal + options: + route: /fake_classname_test + defaults: + handler: FakeClassnameTest 'pet': type: Literal options: @@ -150,10 +162,12 @@ path_handler: handlers: invokables: Fake: App\Handler\Fake + FakeJsonFormData: App\Handler\FakeJsonFormData FakeOuterBoolean: App\Handler\FakeOuterBoolean FakeOuterComposite: App\Handler\FakeOuterComposite FakeOuterNumber: App\Handler\FakeOuterNumber FakeOuterString: App\Handler\FakeOuterString + FakeClassnameTest: App\Handler\FakeClassnameTest Pet: App\Handler\Pet PetFindByStatus: App\Handler\PetFindByStatus PetFindByTags: App\Handler\PetFindByTags diff --git a/samples/server/petstore/ze-ph/composer.json b/samples/server/petstore/ze-ph/composer.json index 5cad52b27e2..457b2209907 100644 --- a/samples/server/petstore/ze-ph/composer.json +++ b/samples/server/petstore/ze-ph/composer.json @@ -7,12 +7,14 @@ "require": { "php": "^5.6 || ^7.0", "ext-yaml" : "^1.2 || ^2.0", - "zendframework/zend-expressive": "^1.0", - "zendframework/zend-expressive-router": "1.2.*", - "articus/path-handler": "0.1.*", + "zendframework/zend-expressive": "^2.0", + "zendframework/zend-expressive-router": "^2.1", + "zendframework/zend-expressive-zendrouter": "^2.0", + "articus/path-handler": "0.2.*", "articus/data-transfer": "*", "zendframework/zend-serializer": "*", - "zendframework/zend-config": "*" + "zendframework/zend-config": "*", + "filp/whoops": "^2.1.7" }, "autoload": { "psr-4": { diff --git a/samples/server/petstore/ze-ph/public/index.php b/samples/server/petstore/ze-ph/public/index.php index 09e8b0233e4..fcb6dd63852 100644 --- a/samples/server/petstore/ze-ph/public/index.php +++ b/samples/server/petstore/ze-ph/public/index.php @@ -7,4 +7,4 @@ $container = require_once __DIR__.'/../application/container.php'; /** @var \Zend\Expressive\Application $app */ $app = $container->get(\Zend\Expressive\Application::class); -$app->run(); \ No newline at end of file +$app->run(); diff --git a/samples/server/petstore/ze-ph/src/App/DTO/AdditionalPropertiesClass.php b/samples/server/petstore/ze-ph/src/App/DTO/AdditionalPropertiesClass.php index 8d4f82b8816..1bd97b750ee 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/AdditionalPropertiesClass.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/AdditionalPropertiesClass.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class AdditionalPropertiesClass +class AdditionalPropertiesClass { /** * @DTA\Data(field="map_property", nullable=true) @@ -21,4 +21,3 @@ class AdditionalPropertiesClass */ public $map_of_map_property; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Animal.php b/samples/server/petstore/ze-ph/src/App/DTO/Animal.php index cfeab7af503..215b1a0259c 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Animal.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Animal.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Animal +class Animal { /** * @DTA\Data(field="className") @@ -21,4 +21,3 @@ class Animal */ public $color; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/AnimalFarm.php b/samples/server/petstore/ze-ph/src/App/DTO/AnimalFarm.php index e161fae5773..98fa3a2a131 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/AnimalFarm.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/AnimalFarm.php @@ -6,7 +6,6 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class AnimalFarm +class AnimalFarm { } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ApiResponse.php b/samples/server/petstore/ze-ph/src/App/DTO/ApiResponse.php index 9d978986b06..381b20bd55a 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ApiResponse.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ApiResponse.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class ApiResponse +class ApiResponse { /** * @DTA\Data(field="code", nullable=true) @@ -27,4 +27,3 @@ class ApiResponse */ public $message; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfArrayOfNumberOnly.php b/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfArrayOfNumberOnly.php index d33fb66a650..d3cdf2c34ae 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfArrayOfNumberOnly.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfArrayOfNumberOnly.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class ArrayOfArrayOfNumberOnly +class ArrayOfArrayOfNumberOnly { /** * @DTA\Data(field="ArrayArrayNumber", nullable=true) @@ -18,4 +18,3 @@ class ArrayOfArrayOfNumberOnly */ public $array_array_number; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfNumberOnly.php b/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfNumberOnly.php index 006d7583b71..6168949960e 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfNumberOnly.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ArrayOfNumberOnly.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class ArrayOfNumberOnly +class ArrayOfNumberOnly { /** * @DTA\Data(field="ArrayNumber", nullable=true) @@ -17,4 +17,3 @@ class ArrayOfNumberOnly */ public $array_number; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ArrayTest.php b/samples/server/petstore/ze-ph/src/App/DTO/ArrayTest.php index 901bcb7cf3c..64786f57404 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ArrayTest.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ArrayTest.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class ArrayTest +class ArrayTest { /** * @DTA\Data(field="array_of_string", nullable=true) @@ -35,4 +35,3 @@ class ArrayTest */ public $array_array_of_model; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Capitalization.php b/samples/server/petstore/ze-ph/src/App/DTO/Capitalization.php index 79a442ed068..d09f67081de 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Capitalization.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Capitalization.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Capitalization +class Capitalization { /** * @DTA\Data(field="smallCamel", nullable=true) @@ -46,4 +46,3 @@ class Capitalization */ public $att_name; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Cat.php b/samples/server/petstore/ze-ph/src/App/DTO/Cat.php index 1d8d759cead..e1596de8ede 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Cat.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Cat.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Cat +class Cat { /** * @DTA\Data(field="className") @@ -27,4 +27,3 @@ class Cat */ public $declawed; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Category.php b/samples/server/petstore/ze-ph/src/App/DTO/Category.php index f2d23ca6f43..67f1b97ec3c 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Category.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Category.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Category +class Category { /** * @DTA\Data(field="id", nullable=true) @@ -21,4 +21,3 @@ class Category */ public $name; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ClassModel.php b/samples/server/petstore/ze-ph/src/App/DTO/ClassModel.php index 8d7f31fca6d..388871d8e01 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ClassModel.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ClassModel.php @@ -7,7 +7,7 @@ use Articus\DataTransfer\Annotation as DTA; /** * Model for testing model with \"_class\" property */ -class ClassModel +class ClassModel { /** * @DTA\Data(field="_class", nullable=true) @@ -16,4 +16,3 @@ class ClassModel */ public $_class; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Client.php b/samples/server/petstore/ze-ph/src/App/DTO/Client.php index a9418d3ec9e..793c70a82dc 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Client.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Client.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Client +class Client { /** * @DTA\Data(field="client", nullable=true) @@ -15,4 +15,3 @@ class Client */ public $client; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Dog.php b/samples/server/petstore/ze-ph/src/App/DTO/Dog.php index 44dd67d7764..74482a9a33e 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Dog.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Dog.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Dog +class Dog { /** * @DTA\Data(field="className") @@ -27,4 +27,3 @@ class Dog */ public $breed; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/EnumArrays.php b/samples/server/petstore/ze-ph/src/App/DTO/EnumArrays.php index b65b4930e1c..f0ba9663716 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/EnumArrays.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/EnumArrays.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class EnumArrays +class EnumArrays { /** * @DTA\Data(field="just_symbol", nullable=true) @@ -23,4 +23,3 @@ class EnumArrays */ public $array_enum; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/EnumClass.php b/samples/server/petstore/ze-ph/src/App/DTO/EnumClass.php index fdef8067f96..2eb9dc5d69c 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/EnumClass.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/EnumClass.php @@ -6,7 +6,6 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class EnumClass +class EnumClass { } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/EnumTest.php b/samples/server/petstore/ze-ph/src/App/DTO/EnumTest.php index 81ae226f7ed..e9a062b6844 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/EnumTest.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/EnumTest.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class EnumTest +class EnumTest { /** * @DTA\Data(field="enum_string", nullable=true) @@ -34,4 +34,3 @@ class EnumTest */ public $outer_enum; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/FormatTest.php b/samples/server/petstore/ze-ph/src/App/DTO/FormatTest.php index e9e8a5b763c..81194340336 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/FormatTest.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/FormatTest.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class FormatTest +class FormatTest { /** * @DTA\Data(field="integer", nullable=true) @@ -63,6 +63,8 @@ class FormatTest public $string; /** * @DTA\Data(field="byte") + * @DTA\Validator(name="Type", options={"type":"string"}) + * @DTA\Validator(name="Regex", options={"pattern":"/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/"}) * @var string */ public $byte; @@ -99,4 +101,3 @@ class FormatTest */ public $password; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/HasOnlyReadOnly.php b/samples/server/petstore/ze-ph/src/App/DTO/HasOnlyReadOnly.php index bef0f049730..84df4d368ec 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/HasOnlyReadOnly.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/HasOnlyReadOnly.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class HasOnlyReadOnly +class HasOnlyReadOnly { /** * @DTA\Data(field="bar", nullable=true) @@ -21,4 +21,3 @@ class HasOnlyReadOnly */ public $foo; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/MapTest.php b/samples/server/petstore/ze-ph/src/App/DTO/MapTest.php index 4437be83ece..96fa07e9541 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/MapTest.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/MapTest.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class MapTest +class MapTest { /** * @DTA\Data(field="map_map_of_string", nullable=true) @@ -21,4 +21,3 @@ class MapTest */ public $map_of_enum_string; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/server/petstore/ze-ph/src/App/DTO/MixedPropertiesAndAdditionalPropertiesClass.php index 5abdd233466..833543e64d8 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/MixedPropertiesAndAdditionalPropertiesClass.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class MixedPropertiesAndAdditionalPropertiesClass +class MixedPropertiesAndAdditionalPropertiesClass { /** * @DTA\Data(field="uuid", nullable=true) @@ -29,4 +29,3 @@ class MixedPropertiesAndAdditionalPropertiesClass */ public $map; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Model200Response.php b/samples/server/petstore/ze-ph/src/App/DTO/Model200Response.php index 40097a59197..203b90e39c7 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Model200Response.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Model200Response.php @@ -7,7 +7,7 @@ use Articus\DataTransfer\Annotation as DTA; /** * Model for testing model name starting with number */ -class Model200Response +class Model200Response { /** * @DTA\Data(field="name", nullable=true) @@ -22,4 +22,3 @@ class Model200Response */ public $class; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ModelReturn.php b/samples/server/petstore/ze-ph/src/App/DTO/ModelReturn.php index a88a57b2c10..674da073821 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ModelReturn.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ModelReturn.php @@ -7,7 +7,7 @@ use Articus\DataTransfer\Annotation as DTA; /** * Model for testing reserved words */ -class ModelReturn +class ModelReturn { /** * @DTA\Data(field="return", nullable=true) @@ -16,4 +16,3 @@ class ModelReturn */ public $return; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Name.php b/samples/server/petstore/ze-ph/src/App/DTO/Name.php index e830280bb71..6c6fe15a7f2 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Name.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Name.php @@ -7,7 +7,7 @@ use Articus\DataTransfer\Annotation as DTA; /** * Model for testing model name same as property name */ -class Name +class Name { /** * @DTA\Data(field="name") @@ -34,4 +34,3 @@ class Name */ public $_123_number; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/NumberOnly.php b/samples/server/petstore/ze-ph/src/App/DTO/NumberOnly.php index 5fc9f120e18..bbe15f429ba 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/NumberOnly.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/NumberOnly.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class NumberOnly +class NumberOnly { /** * @DTA\Data(field="JustNumber", nullable=true) @@ -15,4 +15,3 @@ class NumberOnly */ public $just_number; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Order.php b/samples/server/petstore/ze-ph/src/App/DTO/Order.php index 0a332d918f1..1e33bdc6cb3 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Order.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Order.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Order +class Order { /** * @DTA\Data(field="id", nullable=true) @@ -47,4 +47,3 @@ class Order */ public $complete; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/OuterBoolean.php b/samples/server/petstore/ze-ph/src/App/DTO/OuterBoolean.php index 4746e4941a3..0023dda9288 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/OuterBoolean.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/OuterBoolean.php @@ -6,7 +6,6 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class OuterBoolean +class OuterBoolean { } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/OuterComposite.php b/samples/server/petstore/ze-ph/src/App/DTO/OuterComposite.php index a72f0a61047..91e4e596046 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/OuterComposite.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/OuterComposite.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class OuterComposite +class OuterComposite { /** * @DTA\Data(field="my_number", nullable=true) @@ -30,4 +30,3 @@ class OuterComposite */ public $my_boolean; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/OuterEnum.php b/samples/server/petstore/ze-ph/src/App/DTO/OuterEnum.php index d001bf30deb..460a4c4bb3a 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/OuterEnum.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/OuterEnum.php @@ -6,7 +6,6 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class OuterEnum +class OuterEnum { } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/OuterNumber.php b/samples/server/petstore/ze-ph/src/App/DTO/OuterNumber.php index 7f81220333f..f12d79abbdd 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/OuterNumber.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/OuterNumber.php @@ -6,7 +6,6 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class OuterNumber +class OuterNumber { } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/OuterString.php b/samples/server/petstore/ze-ph/src/App/DTO/OuterString.php index 35c3283feac..4f0902502d3 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/OuterString.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/OuterString.php @@ -6,7 +6,6 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class OuterString +class OuterString { } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Pet.php b/samples/server/petstore/ze-ph/src/App/DTO/Pet.php index a4f3af164f2..ca54fbc570c 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Pet.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Pet.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Pet +class Pet { /** * @DTA\Data(field="id", nullable=true) @@ -52,4 +52,3 @@ class Pet */ public $status; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/ReadOnlyFirst.php b/samples/server/petstore/ze-ph/src/App/DTO/ReadOnlyFirst.php index 297b27017e2..5bec02d6511 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/ReadOnlyFirst.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/ReadOnlyFirst.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class ReadOnlyFirst +class ReadOnlyFirst { /** * @DTA\Data(field="bar", nullable=true) @@ -21,4 +21,3 @@ class ReadOnlyFirst */ public $baz; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/SpecialModelName.php b/samples/server/petstore/ze-ph/src/App/DTO/SpecialModelName.php index 964cca083fc..84b1a4f595a 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/SpecialModelName.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/SpecialModelName.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class SpecialModelName +class SpecialModelName { /** * @DTA\Data(field="$special[property.name]", nullable=true) @@ -15,4 +15,3 @@ class SpecialModelName */ public $special_property_name; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/Tag.php b/samples/server/petstore/ze-ph/src/App/DTO/Tag.php index 7ba6ac01c2b..530bc395613 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/Tag.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/Tag.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class Tag +class Tag { /** * @DTA\Data(field="id", nullable=true) @@ -21,4 +21,3 @@ class Tag */ public $name; } - diff --git a/samples/server/petstore/ze-ph/src/App/DTO/User.php b/samples/server/petstore/ze-ph/src/App/DTO/User.php index 745b8206dd6..09c44d7a551 100644 --- a/samples/server/petstore/ze-ph/src/App/DTO/User.php +++ b/samples/server/petstore/ze-ph/src/App/DTO/User.php @@ -6,7 +6,7 @@ use Articus\DataTransfer\Annotation as DTA; /** */ -class User +class User { /** * @DTA\Data(field="id", nullable=true) @@ -58,4 +58,3 @@ class User */ public $user_status; } - diff --git a/samples/server/petstore/ze-ph/src/App/ErrorMiddleware.php b/samples/server/petstore/ze-ph/src/App/ErrorMiddleware.php deleted file mode 100644 index 0605e519f42..00000000000 --- a/samples/server/petstore/ze-ph/src/App/ErrorMiddleware.php +++ /dev/null @@ -1,20 +0,0 @@ -withStatus(500, 'Internal server error'); - $response->getBody()->write((string)$error); - error_log((string) $error); - return ($out === null)? $response : $out($request, $response); - } -} \ No newline at end of file diff --git a/samples/server/petstore/ze-ph/src/App/Handler/Fake.php b/samples/server/petstore/ze-ph/src/App/Handler/Fake.php index 592f153ca87..71ba8700f06 100644 --- a/samples/server/petstore/ze-ph/src/App/Handler/Fake.php +++ b/samples/server/petstore/ze-ph/src/App/Handler/Fake.php @@ -10,7 +10,6 @@ use Articus\PathHandler\Attribute as PHAttribute; use Articus\PathHandler\Exception as PHException; use Psr\Http\Message\ServerRequestInterface; - class Fake implements Operation\PatchInterface, Operation\PostInterface, Operation\GetInterface { /** @@ -20,6 +19,10 @@ class Fake implements Operation\PatchInterface, Operation\PostInterface, Operati * @PHA\Attribute(name=PHAttribute\Transfer::class, options={"type":\App\DTO\Client::class,"objectAttr":"body"}) * TODO check if producer is valid, if it has correct priority and if it can be moved to class annotation * @PHA\Producer(name=PHProducer\Transfer::class, mediaType="application/json") + * @param ServerRequestInterface $request + * + * @throws PHException\HttpCode 500 if the method is not implemented + * * @return \App\DTO\Client */ public function handlePatch(ServerRequestInterface $request) @@ -35,6 +38,9 @@ class Fake implements Operation\PatchInterface, Operation\PostInterface, Operati * @PHA\Producer(name=PHProducer\Transfer::class, mediaType="application/xml; charset=utf-8") * TODO check if producer is valid, if it has correct priority and if it can be moved to class annotation * @PHA\Producer(name=PHProducer\Transfer::class, mediaType="application/json; charset=utf-8") + * @param ServerRequestInterface $request + * + * @throws PHException\HttpCode 500 if the method is not implemented */ public function handlePost(ServerRequestInterface $request) { @@ -45,6 +51,9 @@ class Fake implements Operation\PatchInterface, Operation\PostInterface, Operati * To test enum parameters * TODO check if producer is valid, if it has correct priority and if it can be moved to class annotation * @PHA\Producer(name=PHProducer\Transfer::class, mediaType="*/*") + * @param ServerRequestInterface $request + * + * @throws PHException\HttpCode 500 if the method is not implemented */ public function handleGet(ServerRequestInterface $request) { diff --git a/samples/server/petstore/ze-ph/src/App/Handler/FakeClassnameTest.php b/samples/server/petstore/ze-ph/src/App/Handler/FakeClassnameTest.php new file mode 100644 index 00000000000..afd81f25733 --- /dev/null +++ b/samples/server/petstore/ze-ph/src/App/Handler/FakeClassnameTest.php @@ -0,0 +1,35 @@ +getAttribute("body"); + throw new PHException\HttpCode(500, "Not implemented"); + } +} diff --git a/samples/server/petstore/ze-ph/src/App/Handler/FakeJsonFormData.php b/samples/server/petstore/ze-ph/src/App/Handler/FakeJsonFormData.php new file mode 100644 index 00000000000..bc13c0b69dc --- /dev/null +++ b/samples/server/petstore/ze-ph/src/App/Handler/FakeJsonFormData.php @@ -0,0 +1,26 @@ +type)); } } -} \ No newline at end of file +}