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> |
||
|---|---|---|
| .. | ||
| android | ||
| bic/data | ||
| cmake | ||
| concurrent | ||
| corelib | ||
| dbus | ||
| gui | ||
| guiapplauncher | ||
| installed_cmake | ||
| network | ||
| opengl | ||
| other | ||
| printsupport | ||
| shared | ||
| sql | ||
| testlib | ||
| tools | ||
| widgets | ||
| xml | ||
| auto.pro | ||
| network-settings.h | ||
| testserver.pri | ||