42
42
use App \Base \Models \User ;
43
43
use App \App ;
44
44
use Symfony \Component \HttpFoundation \JsonResponse ;
45
+ use Symfony \Component \HttpFoundation \RedirectResponse ;
45
46
46
47
/**
47
48
* Global utils functions Helper Class
@@ -166,35 +167,35 @@ public function errorPage(int $error_code, Request $request, ?RouteInfo $route_i
166
167
$ template = $ this ->getTemplates ()->make ($ template_name ?: 'errors:: ' . $ error_code );
167
168
$ template ->data ($ template_data );
168
169
169
- return ( new Response (
170
+ return $ this -> createHtmlResponse (
170
171
$ template ->render (),
171
172
$ error_code
172
- )) ;
173
+ );
173
174
case 503 :
174
175
$ template = $ this ->getTemplates ()->make ($ template_name ?: 'errors::offline ' );
175
176
$ template_data ['body_class ' ] = 'maintenance ' ;
176
177
$ template ->data ($ template_data );
177
178
178
- return ( new Response (
179
+ return $ this -> createHtmlResponse (
179
180
$ template ->render (),
180
181
$ error_code
181
- )) ;
182
+ );
182
183
}
183
184
184
185
if ($ error_code == 500 && isset ($ template_data ['e ' ])) {
185
186
$ template = $ this ->getTemplates ()->make ($ template_name ?: 'errors::exception ' );
186
187
$ template ->data ($ template_data );
187
188
188
- return ( new Response (
189
+ return $ this -> createHtmlResponse (
189
190
$ template ->render (),
190
191
500
191
- )) ;
192
+ );
192
193
}
193
194
194
- return ( new Response (
195
+ return $ this -> createHtmlResponse (
195
196
$ this ->getTemplates ()->make ('errors::500 ' )->render (),
196
197
500
197
- )) ;
198
+ );
198
199
}
199
200
200
201
/**
@@ -265,13 +266,13 @@ public function blockedIpPage(Request $request, ?RouteInfo $route_info = null):
265
266
*
266
267
* @param Exception $exception
267
268
* @param Request $request
268
- * @return Response
269
+ * @return JsonResponse
269
270
* @throws BasicException
270
271
* @throws DependencyException
271
272
* @throws NotFoundException
272
273
* @throws PhpfastcacheSimpleCacheException
273
274
*/
274
- public function exceptionJson (Exception $ exception , Request $ request ): Response
275
+ public function exceptionJson (Exception $ exception , Request $ request ): JsonResponse
275
276
{
276
277
$ this ->logRequestIfNeeded (500 , $ request );
277
278
@@ -298,11 +299,10 @@ public function exceptionJson(Exception $exception, Request $request): Response
298
299
default => 500 ,
299
300
};
300
301
301
- return (new Response (
302
- json_encode ($ content ),
303
- $ exceptionCode ,
304
- ['Content-Type ' => 'application/json ' ]
305
- ));
302
+ return $ this ->createJsonResponse (
303
+ $ content ,
304
+ $ exceptionCode
305
+ );
306
306
}
307
307
308
308
/**
@@ -333,11 +333,10 @@ public function exceptionXML(Exception $exception, Request $request): Response
333
333
];
334
334
}
335
335
336
- return ( new Response (
336
+ return $ this -> createXmlResponse (
337
337
ArrayToXml::convert ($ content ),
338
- 500 ,
339
- ['Content-Type ' => 'text/xml ' ]
340
- ));
338
+ 500
339
+ );
341
340
}
342
341
343
342
/**
@@ -818,4 +817,36 @@ public function createHtmlResponse(string $content, int $status = 200): Response
818
817
['Content-Type ' => 'text/html ' ]
819
818
);
820
819
}
820
+
821
+ /**
822
+ * Creates an XML response.
823
+ *
824
+ * @param string $content
825
+ * @param int $status
826
+ * @return Response
827
+ */
828
+ public function createXmlResponse (string $ content , int $ status = 200 ): Response
829
+ {
830
+ return new Response (
831
+ $ content ,
832
+ $ status ,
833
+ ['Content-Type ' => 'text/xml ' ]
834
+ );
835
+ }
836
+
837
+ /**
838
+ * returns a redirect object
839
+ *
840
+ * @param $url
841
+ * @param array $additional_headers
842
+ * @return RedirectResponse
843
+ */
844
+ public function createRedirectResponse (string $ url , int $ code , array $ headers = []): RedirectResponse
845
+ {
846
+ return new RedirectResponse (
847
+ $ url ,
848
+ $ code ,
849
+ $ headers
850
+ );
851
+ }
821
852
}
0 commit comments