diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2019-07-17 15:10:49 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2019-07-24 16:03:02 +0200 |
commit | e4c1feae5c0bec21e24edbf5acacd248dd121634 (patch) | |
tree | b5285e7dd9bb4a3617fdf6db9780a70a07d74a03 /src/gui/opengl/qopenglprogrambinarycache_p.h | |
parent | 589d96b9b06a4a7d0dca03a06c80716318761277 (diff) |
Implement 'preconnect-https' and 'preconnect-http' for H2
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>
Diffstat (limited to 'src/gui/opengl/qopenglprogrambinarycache_p.h')
0 files changed, 0 insertions, 0 deletions