summaryrefslogtreecommitdiffstats
path: root/src/network/access/http2/http2streams_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Modernize use of 'http' featureUlf Hermann2017-11-061-0/+2
| | | | | | | | | | Exclude QHttp(Multi)Part from being built if http is disabled, and replace the exclusion macros. Use the qmake project files to exclude source files, and QT_REQUIRE_CONFIG(http) in headers. Change-Id: I432fa3c78aa97b5ed2eb1027ac1dc3bdb134f9ba Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* HTTP/2 - fix the handling of PUSH_PROMISETimur Pocheptsov2016-10-211-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | HTTP/2 allows a server to pre-emptively send (or "push") responses (along with corresponding "promised" requests) to a client in association with a previous client-initiated request. This can be useful when the server knows the client will need to have those responses available in order to fully process the response to the original request. Server push is semantically equivalent to a server responding to a request; however, in this case, that request is also sent by the server, as a PUSH_PROMISE frame. The PUSH_PROMISE frame includes a header block that contains a complete set of request header fields that the server attributes to the request. After sending the PUSH_PROMISE frame, the server can begin delivering the pushed response as a response on a server-initiated stream that uses the promised stream identifier. This patch: - fixes the HPACK decompression of PUSH_PROMISE frames; - allows a user to enable PUSH_PROMISE; - processes and caches pushed data for promised streams; - updates auto-test - emulates a simple PUSH_PROMISE scenario. Change-Id: Ic4850863a5e3895320baac3871a723fc091b4aca Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Refactor Http2::FrameReader/Http2::FrameWriterTimur Pocheptsov2016-08-191-2/+1
| | | | | | | | | | | | | | Introduce new entity: class Http2::Frame with accessors like payloadSize/type/flags/streamID etc. (they actually read /interpret raw bytes from a frame's buffer) instead of duplicating this functionality in reader/writer classes. Delete defaulted members and remove explicitly defined move ctors/operators (not needed actually). Update auto-test ('HTTP/2 server') to use these new classes. Change-Id: Ie3516efbd095704e212142eef9e792323678ccfa Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add "We mean it." warning to HTTP2 protocol handler headersFriedemann Kleint2016-07-131-0/+11
| | | | | | | | | | | | QtNetwork: qtbase/src/network/access/http2/http2frames_p.h does not have the "We mean it." warning QtNetwork: qtbase/src/network/access/http2/http2protocol_p.h does not have the "We mean it." warning QtNetwork: qtbase/src/network/access/http2/http2streams_p.h does not have the "We mean it." warning Amends change b2c0f9713c1c39bc3214df49f0d2b44bcc84d790. Task-number: QTBUG-50956 Change-Id: Ia266a4f8625d89745b3a2dcaff6b15a712e9cadc Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* HTTP2 protocol handlerTimur Pocheptsov2016-07-081-0/+92
Add HTTP2 support in QNAM - QHttp2ProtocolHandler + aux. classes. [ChangeLog][QtNetwork] Added support for HTTP/2 protocol Task-number: QTBUG-50956 Change-Id: I3a119cfbb1fb3118d9003225f5e54b46ae2829b6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>