├── .editorconfig ├── .gitignore ├── .php-cs-fixer.dist.php ├── LICENSE ├── README.md ├── assets └── architecture.png ├── bin └── rich ├── composer.json ├── config └── services.xml ├── phpstan.dist.neon ├── phpunit.xml ├── src ├── Action │ └── Result │ │ └── HandlerResult.php ├── Attribute │ ├── HasErrorType.php │ ├── HasUserMessage.php │ ├── PropertyIgnored.php │ ├── PropertySource.php │ ├── SourceContainer.php │ ├── SourceContent.php │ ├── SourceFile.php │ ├── SourceHeader.php │ ├── SourceIpAddress.php │ ├── SourceQuery.php │ ├── SourceRequest.php │ ├── SourceRoute.php │ └── SourceUser.php ├── Compiler │ └── RegisterHandlersPass.php ├── Contract │ ├── Action │ │ ├── CommandInterface.php │ │ ├── HandlerInterface.php │ │ ├── InputInterface.php │ │ └── ResultInterface.php │ ├── Enum │ │ └── ErrorType.php │ ├── Error │ │ └── HttpErrorInterface.php │ ├── Exception │ │ └── ExceptionInterface.php │ └── Input │ │ └── InputParserInterface.php ├── Error │ └── HttpError.php ├── EventListener │ ├── AbstractListener.php │ └── RequestListener.php ├── Exception │ ├── HttpException.php │ ├── InvalidArgumentException.php │ ├── LogicException.php │ └── RuntimeException.php ├── Form │ └── InputDataMapper.php ├── Input │ └── InputParser.php ├── RichBundle.php ├── Security │ └── FailureHandlerTrait.php ├── Serializer │ ├── HttpErrorNormalizer.php │ └── SmartFileDenormalizer.php ├── Validator │ ├── UninitializedProperties.php │ └── UninitializedPropertiesValidator.php └── ValueResolver │ ├── Exception │ ├── ResolutionFailedContentTypeHeaderNotFoundException.php │ ├── ResolutionFailedDecodingContentFailedException.php │ ├── ResolutionFailedMappingRequestFailedException.php │ ├── ResolutionFailedPropertyNotNullableException.php │ └── ResolutionFailedSecurityBundleMissingException.php │ └── InputValueResolver.php └── tests ├── Action └── Result │ └── HandlerResultTest.php ├── Contract └── Enum │ └── ErrorTypeTest.php ├── Error └── HttpErrorTest.php ├── Input └── InputParserTest.php ├── Security └── FailureHandlerTraitTest.php ├── Serializer └── HttpErrorNormalizerTest.php ├── Validator └── UninitializedPropertiesValidatorTest.php └── ValueResolver ├── Exception ├── ResolutionFailedContentTypeHeaderNotFoundExceptionTest.php ├── ResolutionFailedDecodingContentFailedExceptionTest.php ├── ResolutionFailedMappingRequestFailedExceptionTest.php └── ResolutionFailedPropertyNotNullableExceptionTest.php └── InputValueResolverTest.php /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/.gitignore -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/.php-cs-fixer.dist.php -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/README.md -------------------------------------------------------------------------------- /assets/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/assets/architecture.png -------------------------------------------------------------------------------- /bin/rich: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/bin/rich -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/composer.json -------------------------------------------------------------------------------- /config/services.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/config/services.xml -------------------------------------------------------------------------------- /phpstan.dist.neon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/phpstan.dist.neon -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/phpunit.xml -------------------------------------------------------------------------------- /src/Action/Result/HandlerResult.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Action/Result/HandlerResult.php -------------------------------------------------------------------------------- /src/Attribute/HasErrorType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/HasErrorType.php -------------------------------------------------------------------------------- /src/Attribute/HasUserMessage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/HasUserMessage.php -------------------------------------------------------------------------------- /src/Attribute/PropertyIgnored.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/PropertyIgnored.php -------------------------------------------------------------------------------- /src/Attribute/PropertySource.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/PropertySource.php -------------------------------------------------------------------------------- /src/Attribute/SourceContainer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceContainer.php -------------------------------------------------------------------------------- /src/Attribute/SourceContent.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceContent.php -------------------------------------------------------------------------------- /src/Attribute/SourceFile.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceFile.php -------------------------------------------------------------------------------- /src/Attribute/SourceHeader.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceHeader.php -------------------------------------------------------------------------------- /src/Attribute/SourceIpAddress.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceIpAddress.php -------------------------------------------------------------------------------- /src/Attribute/SourceQuery.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceQuery.php -------------------------------------------------------------------------------- /src/Attribute/SourceRequest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceRequest.php -------------------------------------------------------------------------------- /src/Attribute/SourceRoute.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceRoute.php -------------------------------------------------------------------------------- /src/Attribute/SourceUser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Attribute/SourceUser.php -------------------------------------------------------------------------------- /src/Compiler/RegisterHandlersPass.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Compiler/RegisterHandlersPass.php -------------------------------------------------------------------------------- /src/Contract/Action/CommandInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Action/CommandInterface.php -------------------------------------------------------------------------------- /src/Contract/Action/HandlerInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Action/HandlerInterface.php -------------------------------------------------------------------------------- /src/Contract/Action/InputInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Action/InputInterface.php -------------------------------------------------------------------------------- /src/Contract/Action/ResultInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Action/ResultInterface.php -------------------------------------------------------------------------------- /src/Contract/Enum/ErrorType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Enum/ErrorType.php -------------------------------------------------------------------------------- /src/Contract/Error/HttpErrorInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Error/HttpErrorInterface.php -------------------------------------------------------------------------------- /src/Contract/Exception/ExceptionInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Exception/ExceptionInterface.php -------------------------------------------------------------------------------- /src/Contract/Input/InputParserInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Contract/Input/InputParserInterface.php -------------------------------------------------------------------------------- /src/Error/HttpError.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Error/HttpError.php -------------------------------------------------------------------------------- /src/EventListener/AbstractListener.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/EventListener/AbstractListener.php -------------------------------------------------------------------------------- /src/EventListener/RequestListener.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/EventListener/RequestListener.php -------------------------------------------------------------------------------- /src/Exception/HttpException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Exception/HttpException.php -------------------------------------------------------------------------------- /src/Exception/InvalidArgumentException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Exception/InvalidArgumentException.php -------------------------------------------------------------------------------- /src/Exception/LogicException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Exception/LogicException.php -------------------------------------------------------------------------------- /src/Exception/RuntimeException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Exception/RuntimeException.php -------------------------------------------------------------------------------- /src/Form/InputDataMapper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Form/InputDataMapper.php -------------------------------------------------------------------------------- /src/Input/InputParser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Input/InputParser.php -------------------------------------------------------------------------------- /src/RichBundle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/RichBundle.php -------------------------------------------------------------------------------- /src/Security/FailureHandlerTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Security/FailureHandlerTrait.php -------------------------------------------------------------------------------- /src/Serializer/HttpErrorNormalizer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Serializer/HttpErrorNormalizer.php -------------------------------------------------------------------------------- /src/Serializer/SmartFileDenormalizer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Serializer/SmartFileDenormalizer.php -------------------------------------------------------------------------------- /src/Validator/UninitializedProperties.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Validator/UninitializedProperties.php -------------------------------------------------------------------------------- /src/Validator/UninitializedPropertiesValidator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/Validator/UninitializedPropertiesValidator.php -------------------------------------------------------------------------------- /src/ValueResolver/Exception/ResolutionFailedContentTypeHeaderNotFoundException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/ValueResolver/Exception/ResolutionFailedContentTypeHeaderNotFoundException.php -------------------------------------------------------------------------------- /src/ValueResolver/Exception/ResolutionFailedDecodingContentFailedException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/ValueResolver/Exception/ResolutionFailedDecodingContentFailedException.php -------------------------------------------------------------------------------- /src/ValueResolver/Exception/ResolutionFailedMappingRequestFailedException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/ValueResolver/Exception/ResolutionFailedMappingRequestFailedException.php -------------------------------------------------------------------------------- /src/ValueResolver/Exception/ResolutionFailedPropertyNotNullableException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/ValueResolver/Exception/ResolutionFailedPropertyNotNullableException.php -------------------------------------------------------------------------------- /src/ValueResolver/Exception/ResolutionFailedSecurityBundleMissingException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/ValueResolver/Exception/ResolutionFailedSecurityBundleMissingException.php -------------------------------------------------------------------------------- /src/ValueResolver/InputValueResolver.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/src/ValueResolver/InputValueResolver.php -------------------------------------------------------------------------------- /tests/Action/Result/HandlerResultTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Action/Result/HandlerResultTest.php -------------------------------------------------------------------------------- /tests/Contract/Enum/ErrorTypeTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Contract/Enum/ErrorTypeTest.php -------------------------------------------------------------------------------- /tests/Error/HttpErrorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Error/HttpErrorTest.php -------------------------------------------------------------------------------- /tests/Input/InputParserTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Input/InputParserTest.php -------------------------------------------------------------------------------- /tests/Security/FailureHandlerTraitTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Security/FailureHandlerTraitTest.php -------------------------------------------------------------------------------- /tests/Serializer/HttpErrorNormalizerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Serializer/HttpErrorNormalizerTest.php -------------------------------------------------------------------------------- /tests/Validator/UninitializedPropertiesValidatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/Validator/UninitializedPropertiesValidatorTest.php -------------------------------------------------------------------------------- /tests/ValueResolver/Exception/ResolutionFailedContentTypeHeaderNotFoundExceptionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/ValueResolver/Exception/ResolutionFailedContentTypeHeaderNotFoundExceptionTest.php -------------------------------------------------------------------------------- /tests/ValueResolver/Exception/ResolutionFailedDecodingContentFailedExceptionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/ValueResolver/Exception/ResolutionFailedDecodingContentFailedExceptionTest.php -------------------------------------------------------------------------------- /tests/ValueResolver/Exception/ResolutionFailedMappingRequestFailedExceptionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/ValueResolver/Exception/ResolutionFailedMappingRequestFailedExceptionTest.php -------------------------------------------------------------------------------- /tests/ValueResolver/Exception/ResolutionFailedPropertyNotNullableExceptionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/ValueResolver/Exception/ResolutionFailedPropertyNotNullableExceptionTest.php -------------------------------------------------------------------------------- /tests/ValueResolver/InputValueResolverTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1tomany/rich-bundle/HEAD/tests/ValueResolver/InputValueResolverTest.php --------------------------------------------------------------------------------