Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
81.82% |
9 / 11 |
RequestFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
4.10 | |
81.82% |
9 / 11 |
create | |
0.00% |
0 / 1 |
4.10 | |
81.82% |
9 / 11 |
<?php | |
declare(strict_types=1); | |
namespace Korobochkin\WPKit\Utils; | |
use Symfony\Component\HttpFoundation\ParameterBag; | |
use Symfony\Component\HttpFoundation\Request; | |
/** | |
* Class RequestFactory | |
*/ | |
class RequestFactory | |
{ | |
/** | |
* Returns HTTP request instance. | |
* | |
* @see wp_magic_quotes | |
* @see stripslashes_deep | |
* | |
* @return Request HTTP request. | |
*/ | |
public static function create() | |
{ | |
$get = stripslashes_deep($_GET); | |
$post = stripslashes_deep($_POST); | |
$cookie = stripslashes_deep($_COOKIE); | |
$server = stripslashes_deep($_SERVER); | |
$request = new Request($get, $post, array(), $cookie, $_FILES, $server); | |
if ($request->headers->has('CONTENT_TYPE') | |
&& 0 === strpos($request->headers->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded') | |
&& in_array(strtoupper($request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE', 'PATCH')) | |
) { | |
parse_str($request->getContent(), $data); | |
$request->request = new ParameterBag($data); | |
} | |
return $request; | |
} | |
} |