HTTP proxy engine - accept standard Connection header
The Proxy-Connection header is a non standard header, but is widely used so forming a de-facto standard. Some proxies use the official Connection header, so we should check for that in responses. Otherwise https connections over http proxy fail in case the proxy sends "Connection: close" with the 407 reply. Task-number: QTBUG-22177 Change-Id: If6cfa4ebb7ac9d97d65b6ddcc8257aee20ac0448 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>bb10
parent
869bd3d6e1
commit
0ad18e18d1
|
|
@ -614,6 +614,10 @@ void QHttpSocketEngine::slotSocketReadNotification()
|
|||
|
||||
bool willClose;
|
||||
QString proxyConnectionHeader = responseHeader.value(QLatin1String("Proxy-Connection"));
|
||||
// Although most proxies use the unofficial Proxy-Connection header, the Connection header
|
||||
// from http spec is also allowed.
|
||||
if (proxyConnectionHeader.isEmpty())
|
||||
proxyConnectionHeader = responseHeader.value(QLatin1String("Connection"));
|
||||
proxyConnectionHeader = proxyConnectionHeader.toLower();
|
||||
if (proxyConnectionHeader == QLatin1String("close")) {
|
||||
willClose = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue