Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php declare(strict_types=1);
2
 
3
namespace EduSharingApiClient;
4
 
5
/**
6
 * Class DefaultCurlHandler
7
 *
8
 * The default curl handler. It uses the native php curl functions
9
 * Use this as a reference for your custom curl library usage
10
 *
11
 * @author Torsten Simon  <simon@edu-sharing.net>
12
 * @author Marian Ziegler <ziegler@edu-sharing.net>
13
 */
14
class DefaultCurlHandler extends CurlHandler
15
{
16
    /**
17
     * Function handleCurlRequest
18
     *
19
     * @param string $url
20
     * @param array $curlOptions
21
     * @return CurlResult
22
     */
23
    public function handleCurlRequest(string $url, array $curlOptions): CurlResult {
24
        $curl = curl_init($url);
25
        curl_setopt_array($curl, $curlOptions);
26
        $content = curl_exec($curl);
27
        $error   = curl_errno($curl);
28
        $info    = curl_getinfo($curl);
29
        curl_close($curl);
30
        return new CurlResult(!is_string($content) ? '' : $content, $error, $info);
31
    }
32
}