@@ -3037,6 +3037,37 @@ public function handle(Request $request): Response
3037
3037
}
3038
3038
}
3039
3039
3040
+ // file: src/Tqdev/PhpCrudApi/Middleware/CustomMiddleware.php
3041
+
3042
+ class CustomMiddleware extends Middleware
3043
+ {
3044
+ private $ reflection ;
3045
+
3046
+ public function __construct (Router $ router , Responder $ responder , array $ properties , ReflectionService $ reflection )
3047
+ {
3048
+ parent ::__construct ($ router , $ responder , $ properties );
3049
+ $ this ->reflection = $ reflection ;
3050
+ $ this ->utils = new RequestUtils ($ reflection );
3051
+ }
3052
+
3053
+ public function handle (Request $ request ): Response
3054
+ {
3055
+ $ operation = $ this ->utils ->getOperation ($ request );
3056
+ $ tableName = $ request ->getPathSegment (2 );
3057
+ $ beforeHandler = $ this ->getProperty ('beforeHandler ' , '' );
3058
+ $ environment = (object ) array ();
3059
+ if ($ beforeHandler !== '' ) {
3060
+ call_user_func ($ beforeHandler , $ operation , $ tableName , $ request , $ environment );
3061
+ }
3062
+ $ response = $ this ->next ->handle ($ request );
3063
+ $ afterHandler = $ this ->getProperty ('afterHandler ' , '' );
3064
+ if ($ afterHandler !== '' ) {
3065
+ call_user_func ($ afterHandler , $ operation , $ tableName , $ response , $ environment );
3066
+ }
3067
+ return $ response ;
3068
+ }
3069
+ }
3070
+
3040
3071
// file: src/Tqdev/PhpCrudApi/Middleware/FirewallMiddleware.php
3041
3072
3042
3073
class FirewallMiddleware extends Middleware
@@ -4796,6 +4827,9 @@ public function __construct(Config $config)
4796
4827
case 'authorization ' :
4797
4828
new AuthorizationMiddleware ($ router , $ responder , $ properties , $ reflection );
4798
4829
break ;
4830
+ case 'custom ' :
4831
+ new CustomMiddleware ($ router , $ responder , $ properties , $ reflection );
4832
+ break ;
4799
4833
}
4800
4834
}
4801
4835
foreach ($ config ->getControllers () as $ controller ) {
0 commit comments