private function prepareRequest($method, $url, array $requestParameters) { $env = Environment::mock(['SCRIPT_NAME' => '/index.php', 'REQUEST_URI' => $url, 'REQUEST_METHOD' => $method]); $parts = explode('?', $url); if (isset($parts[1])) { $env['QUERY_STRING'] = $parts[1]; } $uri = Uri::createFromEnvironment($env); $headers = Headers::createFromEnvironment($env); $cookies = []; $serverParams = $env->all(); $body = new RequestBody(); $body->write(json_encode($requestParameters)); $request = new Request($method, $uri, $headers, $cookies, $serverParams, $body); return $request->withHeader('Content-Type', 'application/json'); }