Example #1
0
<?php

$request = new Curl\Request('http://google.com');
$request->setTimeout(30)->setConnectionTimeout(5)->setAllowRedirect(true, 5)->setRefererUrl('http://some.url');
$request->setHeaders(array('Accept: text/html', 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0'))->addHeaders(array('Cache-Control: max-age=0'));
$request->setOptions(array(CURLOPT_VERBOSE => false, CURLOPT_FAILONERROR => true))->addOptions(array(CURLINFO_HEADER_OUT => true));
$request->on('beforeSend', function ($request, Curl\Request $request) {
    // before send the request
})->on('success', function (Curl\Response\PlainResponse $response, Curl\Request $request) {
    // if response has no error
    // $response->hasError() retuned false
})->on('error', function (Curl\Response\PlainResponse $response, Curl\Request $request) {
    // if response has an error
    // $response->hasError() retuned true
})->on('compete', function (Curl\Response\PlainResponse $response, Curl\Request $request) {
    // always on complete request
});
$response = $request->send();
// retrieve request info
$info = $response->getInfo();
var_dump($response->getInfo(true)->http_code, $info['content_type']);
/**
 * Custom Response class
 */
class CustomResponse extends Curl\Response\PlainResponse
{
    /**
     * (non-PHPdoc)
     * @see Curl.Response::hasError()
     */
    public function hasError()