diff options
Diffstat (limited to 'application/HttpUtils.php')
-rw-r--r-- | application/HttpUtils.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/application/HttpUtils.php b/application/HttpUtils.php index 00835966..c9371b55 100644 --- a/application/HttpUtils.php +++ b/application/HttpUtils.php | |||
@@ -76,7 +76,7 @@ function get_http_response($url, $timeout = 30, $maxBytes = 4194304) | |||
76 | curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); | 76 | curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); |
77 | 77 | ||
78 | // Max download size management | 78 | // Max download size management |
79 | curl_setopt($ch, CURLOPT_BUFFERSIZE, 1024); | 79 | curl_setopt($ch, CURLOPT_BUFFERSIZE, 1024*16); |
80 | curl_setopt($ch, CURLOPT_NOPROGRESS, false); | 80 | curl_setopt($ch, CURLOPT_NOPROGRESS, false); |
81 | curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, | 81 | curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, |
82 | function($arg0, $arg1, $arg2, $arg3, $arg4 = 0) use ($maxBytes) | 82 | function($arg0, $arg1, $arg2, $arg3, $arg4 = 0) use ($maxBytes) |
@@ -302,6 +302,13 @@ function server_url($server) | |||
302 | $port = $server['HTTP_X_FORWARDED_PORT']; | 302 | $port = $server['HTTP_X_FORWARDED_PORT']; |
303 | } | 303 | } |
304 | 304 | ||
305 | // This is a workaround for proxies that don't forward the scheme properly. | ||
306 | // Connecting over port 443 has to be in HTTPS. | ||
307 | // See https://github.com/shaarli/Shaarli/issues/1022 | ||
308 | if ($port == '443') { | ||
309 | $scheme = 'https'; | ||
310 | } | ||
311 | |||
305 | if (($scheme == 'http' && $port != '80') | 312 | if (($scheme == 'http' && $port != '80') |
306 | || ($scheme == 'https' && $port != '443') | 313 | || ($scheme == 'https' && $port != '443') |
307 | ) { | 314 | ) { |