@@ -62,16 +62,10 @@ public function handle(Request $request): Response
62
62
63
63
switch (count ($ segments )) {
64
64
case 1 :
65
- return $ this ->handleWithHandler (
66
- $ request ,
67
- $ this ->getCollectionHandler ($ request , $ segments )
68
- );
65
+ return $ this ->handleCollection ($ request , $ segments );
69
66
70
67
case 2 :
71
- return $ this ->handleWithHandler (
72
- $ request ,
73
- $ this ->getMemberHandler ($ request , $ segments )
74
- );
68
+ return $ this ->handleResource ($ request , $ segments );
75
69
76
70
case 3 :
77
71
// return $this->handleRelated($request, $resource, $model, $segments[2]);
@@ -136,49 +130,42 @@ private function stripBasePath(string $path): string
136
130
return $ path ;
137
131
}
138
132
139
- private function getCollectionHandler (Request $ request , array $ segments ): RequestHandlerInterface
133
+ private function handleCollection (Request $ request , array $ segments ): Response
140
134
{
141
135
$ resource = $ this ->getResource ($ segments [0 ]);
142
136
143
137
switch ($ request ->getMethod ()) {
144
138
case 'GET ' :
145
- return new Handler \Index ($ this , $ resource );
139
+ return ( new Handler \Index ($ this , $ resource))-> handle ( $ request );
146
140
147
141
case 'POST ' :
148
- return new Handler \Create ($ this , $ resource );
142
+ return ( new Handler \Create ($ this , $ resource))-> handle ( $ request );
149
143
150
144
default :
151
145
throw new MethodNotAllowedException ;
152
146
}
153
147
}
154
148
155
- private function getMemberHandler (Request $ request , array $ segments ): RequestHandlerInterface
149
+ private function handleResource (Request $ request , array $ segments ): Response
156
150
{
157
151
$ resource = $ this ->getResource ($ segments [0 ]);
158
152
$ model = $ this ->findResource ($ request , $ resource , $ segments [1 ]);
159
153
160
154
switch ($ request ->getMethod ()) {
161
155
case 'PATCH ' :
162
- return new Handler \Update ($ this , $ resource , $ model );
156
+ return ( new Handler \Update ($ this , $ resource , $ model))-> handle ( $ request );
163
157
164
158
case 'GET ' :
165
- return new Handler \Show ($ this , $ resource , $ model );
159
+ return ( new Handler \Show ($ this , $ resource , $ model))-> handle ( $ request );
166
160
167
161
case 'DELETE ' :
168
- return new Handler \Delete ($ resource , $ model );
162
+ return ( new Handler \Delete ($ resource , $ model))-> handle ( $ request );
169
163
170
164
default :
171
165
throw new MethodNotAllowedException ;
172
166
}
173
167
}
174
168
175
- private function handleWithHandler (Request $ request , RequestHandlerInterface $ handler )
176
- {
177
- $ request = $ request ->withAttribute ('jsonApiHandler ' , $ handler );
178
-
179
- return $ handler ->handle ($ request );
180
- }
181
-
182
169
public function error ($ e )
183
170
{
184
171
if (! $ e instanceof ErrorProviderInterface) {
0 commit comments