]> git.mxchange.org Git - friendica.git/commitdiff
Special treatment for HTTP Code 416
authorMichael <heluecht@pirati.ca>
Mon, 16 Oct 2017 03:14:32 +0000 (03:14 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 16 Oct 2017 03:14:32 +0000 (03:14 +0000)
include/network.php

index dad70f7e45bd0fee3f1af5fcd780f1c99f88e574..c705d4e78cc3c792cfa52a7bd0a7978c8a975049 100644 (file)
@@ -164,6 +164,15 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) {
        // if it throws any errors.
 
        $s = @curl_exec($ch);
+       $curl_info = @curl_getinfo($ch);
+
+       // Special treatment for HTTP Code 416
+       // See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/416
+       if (($curl_info['http_code'] == 416) && ($range > 0)) {
+               @curl_setopt($ch, CURLOPT_RANGE, '');
+               $s = @curl_exec($ch);
+               $curl_info = @curl_getinfo($ch);
+       }
 
        if (curl_errno($ch) !== CURLE_OK) {
                logger('fetch_url error fetching ' . $url . ': ' . curl_error($ch), LOGGER_NORMAL);
@@ -172,10 +181,10 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) {
        $ret['errno'] = curl_errno($ch);
 
        $base = $s;
-       $curl_info = @curl_getinfo($ch);
        $ret['info'] = $curl_info;
 
        $http_code = $curl_info['http_code'];
+
        logger('fetch_url ' . $url . ': ' . $http_code . " " . $s, LOGGER_DATA);
        $header = '';