public static function sendUnrealClientPostRequest($endpoint, $params = null, $authorization = self::EPIC_LAUNCHER_AUTHORIZATION, $oauth = false) {
        $client = new Client(['http_errors' => false]);

        try {
            $response = $client->post($endpoint, [
                'form_params' => $params,
                'headers' => [
                    'User-Agent' => self::UNREAL_CLIENT_USER_AGENT,
                    'Authorization' => (!$oauth) ? 'basic ' . $authorization : 'bearer ' . $authorization,
                    'X-Epic-Device-ID' => self::generateDeviceId()
                ]
            ]);

            return json_decode($response->getBody()->getContents());
        } catch (GuzzleException $e) {
            throw $e; //Throw exception back up to caller
        }
    }