public function execCurl(array $config)
    {
        $config[CURLOPT_VERBOSE]        = false;
        $config[CURLOPT_SSL_VERIFYPEER] = false;
        $config[CURLOPT_RETURNTRANSFER] = true;

        if (defined('CURLOPT_IPRESOLVE')) // PHP5.3
        {
            $config[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
        }

        $ch = curl_init();

        foreach ($config as $key => $value) {
            curl_setopt($ch, $key, $value);
        }

        $result      = curl_exec($ch);
        $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $error       = curl_error($ch);
        $error_code  = curl_errno($ch);

        curl_close($ch);

        return [$result, $status_code, $error, $error_code];
    }