e4c1feae5c
QNetworkAccessManager::connectToHostEncrypted()/connectToHost() creates 'fake' requests with pseudo-schemes 'preconnect-https'/ 'preconnect-http'. QHttp2ProtocolHandler should handle this requests in a special way - reporting them immediately as finished (so that QNAM emits finished as it does in case of HTTP/1.1) and not trying to send anything. We also have to properly cache the connection - 'https' or 'http' scheme is too generic - it allows (unfortunately) mixing H2/HTTP/1.1 in a single connection in case an attribute was missing on a request, which is wrong. h2c is more complicated, since it needs a real request to negotiate the protocol switch to H2, with the current QNetworkHttpConnection(Channel)'s design it's not possible without large changes (aka regressions and new bugs introduced). Auto-test extended. Fixes: QTBUG-77082 Change-Id: I03467673a620c89784c2d36521020dc9d08aced7 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> |
||
---|---|---|
.. | ||
hpack | ||
hsts | ||
http2 | ||
qabstractnetworkcache | ||
qftp | ||
qhttpnetworkconnection | ||
qhttpnetworkreply | ||
qnetworkaccessmanager | ||
qnetworkcachemetadata | ||
qnetworkcookie | ||
qnetworkcookiejar | ||
qnetworkdiskcache | ||
qnetworkreply | ||
qnetworkrequest | ||
spdy | ||
access.pro |