1212use Eukles \Slim \Handlers \ApiProblemRendererTrait ;
1313use Exception ;
1414use InvalidArgumentException ;
15+ use Psr \Http \Message \RequestInterface ;
1516use Psr \Http \Message \ResponseInterface ;
1617use Psr \Http \Message \ServerRequestInterface ;
1718use Psr \Http \Message \UploadedFileInterface ;
@@ -181,7 +182,7 @@ protected function buildParams(
181182 * @return ResponseInterface
182183 * @throws Exception
183184 */
184- protected function buildResponse ($ result , ResponseInterface $ response )
185+ protected function buildResponse ($ result , ResponseInterface $ response, RequestInterface $ request )
185186 {
186187
187188 $ responseBuilder = $ this ->container ->getResponseBuilder ();
@@ -193,6 +194,9 @@ protected function buildResponse($result, ResponseInterface $response)
193194 if (!is_callable ($ responseFormatter )) {
194195 throw new ResponseFormatterException ('ResponseFormatter must be callable or implements ResponseFormatterInterface ' );
195196 }
197+ if (method_exists ($ responseBuilder , 'setRequest ' )) {
198+ $ responseBuilder ->setRequest ($ request );
199+ }
196200
197201 $ result = $ responseBuilder ($ result );
198202
@@ -237,7 +241,7 @@ protected function callHandler(
237241 if (($ result instanceof ResponseInterface)) {
238242 $ response = $ result ;
239243 } else {
240- $ response = $ this ->buildResponse ($ result , $ response );
244+ $ response = $ this ->buildResponse ($ result , $ response, $ request );
241245 }
242246
243247 return $ response ;
0 commit comments