diff options
| -rw-r--r-- | it_url.class | 30 | 
1 files changed, 19 insertions, 11 deletions
| diff --git a/it_url.class b/it_url.class index 5973887..c465f13 100644 --- a/it_url.class +++ b/it_url.class @@ -380,13 +380,18 @@ function request($p=array())  		}  		@fclose($fp); -	} +	} else +		$this->errstr = $errstr; -	if (time() >= $endtime) +	if (time() >= $endtime) {  		$result = $this->result = false; +		$errstr = $this->errstr = "totaltimeout reached"; +	} -	if ($p['maxlength'] && (strlen($this->data) + $len > $p['maxlength'])) +	if ($p['maxlength'] && (strlen($this->data) + $len > $p['maxlength'])) {  		$result = $this->result = false; +		$errstr = $this->errstr = "maxlength reached"; +	}  	if ($result === false && $p['safety'] == 1)  		it::error(array('title' => "problem (timeout?) getting $url->url " . $errstr) + (array)$p['it_error']); @@ -461,21 +466,24 @@ function request_curl($p=array())  	EDC('curlinfo', curl_getinfo($curl)); -	if ($got === false && $p['safety'] == 1) -		it::error(array('title' => "problem getting $url->url with curl: " . curl_error($curl)) + (array)$p['it_error']); -  	if ($got) {  		list($url->header, $url->data) = explode("\r\n\r\n", $got, 2);  		$url->header .= "\r\n\r\n";  		$url->parse_http_header($url->header); -		if ($p['maxlength'] && (strlen($this->data) > $p['maxlength'])) -			$result = false; -		else +		if ($p['maxlength'] && (strlen($this->data) > $p['maxlength'])) { +			$result = $this->result = false; +			$errstr = $this->errstr = "maxlength reached"; +		} else  			$result =& $url->data; -	} else -		$result = false; +	} else { +		$result = $this->result = false; +		$errstr = $this->errstr = curl_error($curl); +	} + +	if ($got === false && $p['safety'] == 1) +		it::error(array('title' => "problem getting $url->url with curl: " . curl_error($curl)) + (array)$p['it_error']);  	return $result;  } |