Merge pull request #7753 from annando/http-417
Handling for HTTP Error code 417
This commit is contained in:
commit
1a8bc6e73f
|
@ -285,16 +285,6 @@ class Network
|
||||||
curl_setopt($ch, CURLOPT_TIMEOUT, intval($curl_time));
|
curl_setopt($ch, CURLOPT_TIMEOUT, intval($curl_time));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (defined('LIGHTTPD')) {
|
|
||||||
if (empty($headers)) {
|
|
||||||
$headers = ['Expect:'];
|
|
||||||
} else {
|
|
||||||
if (!in_array('Expect:', $headers)) {
|
|
||||||
array_push($headers, 'Expect:');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($headers)) {
|
if (!empty($headers)) {
|
||||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||||
}
|
}
|
||||||
|
@ -337,6 +327,21 @@ class Network
|
||||||
|
|
||||||
$a->getProfiler()->saveTimestamp($stamp1, 'network', System::callstack());
|
$a->getProfiler()->saveTimestamp($stamp1, 'network', System::callstack());
|
||||||
|
|
||||||
|
// Very old versions of Lighttpd don't like the "Expect" header, so we remove it when needed
|
||||||
|
if ($curlResponse->getReturnCode() == 417) {
|
||||||
|
$redirects++;
|
||||||
|
|
||||||
|
if (empty($headers)) {
|
||||||
|
$headers = ['Expect:'];
|
||||||
|
} else {
|
||||||
|
if (!in_array('Expect:', $headers)) {
|
||||||
|
array_push($headers, 'Expect:');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Logger::info('Server responds with 417, applying workaround', ['url' => $url]);
|
||||||
|
return self::post($url, $params, $headers, $redirects, $timeout);
|
||||||
|
}
|
||||||
|
|
||||||
Logger::log('post_url: end ' . $url, Logger::DATA);
|
Logger::log('post_url: end ' . $url, Logger::DATA);
|
||||||
|
|
||||||
return $curlResponse;
|
return $curlResponse;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user