$headers, "form_params" => $post ]; foreach ($get as $key => $value) { $url .= (strpos($url, '?') === false ? "?" : "&") . urlencode($key) . "=" . urlencode($value); } $response = null; try { $response = $client->request($method, $url, $options); } catch (ClientException $e) { $response = $e->getResponse(); LuLog::log($response->getBody()); LuLog::log($e); } catch (RequestException $e) { $response = $e->getResponse(); LuLog::log($response->getBody()); LuLog::log($e); } catch (\Exception $e) { LuLog::log($e); } if (!is_null($response)) { $body = json_decode($response->getBody(), true); $request = LuRequestDbo::jsonDeserialize($body); $request->setStatusCode($response->getStatusCode()); return $request; } $request = new LuRequestDbo(); $request->setMessage("Failed to parse response"); $request->setStatusCode(500); return $request; } public static function proxy($method, $url, $get = [], $post = null, $headers = []) { $response = LuRequest::request($method, $url, $get, $post, $headers); if ($response->getStatusCode() != 200) { abort($response->getStatusCode(), $response->getMessage()); } return $response->getData(); } }