[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 1 | // Copyright 2013 The Chromium Authors. All rights reserved. |
2 | // Use of this source code is governed by a BSD-style license that can be | ||||
3 | // found in the LICENSE file. | ||||
4 | |||||
Ryan Hamilton | a3ee93a7 | 2018-08-01 22:03:08 | [diff] [blame] | 5 | #ifndef NET_QUIC_QUIC_HTTP_UTILS_H_ |
6 | #define NET_QUIC_QUIC_HTTP_UTILS_H_ | ||||
[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 7 | |
[email protected] | 47f9573 | 2014-01-07 11:20:03 | [diff] [blame] | 8 | #include "base/values.h" |
[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 9 | #include "net/base/net_export.h" |
10 | #include "net/base/request_priority.h" | ||||
Ryan Hamilton | 0bed157 | 2018-03-02 19:58:21 | [diff] [blame] | 11 | #include "net/log/net_log_capture_mode.h" |
Victor Vasiliev | 6bb59d2 | 2019-03-08 21:34:51 | [diff] [blame] | 12 | #include "net/third_party/quiche/src/quic/core/quic_packets.h" |
Victor Vasiliev | 27cc771 | 2019-01-24 11:50:14 | [diff] [blame] | 13 | #include "net/third_party/quiche/src/spdy/core/spdy_header_block.h" |
14 | #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h" | ||||
[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 15 | |
16 | namespace net { | ||||
17 | |||||
Ryan Hamilton | 0239aac | 2018-05-19 00:03:13 | [diff] [blame] | 18 | NET_EXPORT_PRIVATE spdy::SpdyPriority ConvertRequestPriorityToQuicPriority( |
19 | RequestPriority priority); | ||||
[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 20 | |
ianswett | 0888cff | 2015-11-24 17:42:16 | [diff] [blame] | 21 | NET_EXPORT_PRIVATE RequestPriority |
Ryan Hamilton | 0239aac | 2018-05-19 00:03:13 | [diff] [blame] | 22 | ConvertQuicPriorityToRequestPriority(spdy::SpdyPriority priority); |
[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 23 | |
Ryan Hamilton | 0239aac | 2018-05-19 00:03:13 | [diff] [blame] | 24 | // Converts a spdy::SpdyHeaderBlock and priority into NetLog event parameters. |
danakj | ad1777e | 2016-04-16 00:56:42 | [diff] [blame] | 25 | NET_EXPORT std::unique_ptr<base::Value> QuicRequestNetLogCallback( |
Ryan Hamilton | 8d9ee76e | 2018-05-29 23:52:52 | [diff] [blame] | 26 | quic::QuicStreamId stream_id, |
Ryan Hamilton | 0239aac | 2018-05-19 00:03:13 | [diff] [blame] | 27 | const spdy::SpdyHeaderBlock* headers, |
28 | spdy::SpdyPriority priority, | ||||
eroman | 001c374 | 2015-04-23 03:11:17 | [diff] [blame] | 29 | NetLogCaptureMode capture_mode); |
[email protected] | 47f9573 | 2014-01-07 11:20:03 | [diff] [blame] | 30 | |
Ryan Hamilton | 8d9ee76e | 2018-05-29 23:52:52 | [diff] [blame] | 31 | // Parses |alt_svc_versions| into a quic::QuicTransportVersionVector and removes |
Yixin Wang | a9afead | 2017-10-19 20:23:10 | [diff] [blame] | 32 | // all entries that aren't found in |supported_versions|. |
Ryan Hamilton | 8d9ee76e | 2018-05-29 23:52:52 | [diff] [blame] | 33 | NET_EXPORT quic::QuicTransportVersionVector FilterSupportedAltSvcVersions( |
Ryan Hamilton | 0239aac | 2018-05-19 00:03:13 | [diff] [blame] | 34 | const spdy::SpdyAltSvcWireFormat::AlternativeService& quic_alt_svc, |
Ryan Hamilton | 8d9ee76e | 2018-05-29 23:52:52 | [diff] [blame] | 35 | const quic::QuicTransportVersionVector& supported_versions, |
Yixin Wang | a9afead | 2017-10-19 20:23:10 | [diff] [blame] | 36 | bool support_ietf_format_quic_altsvc); |
37 | |||||
[email protected] | 24e5bc5 | 2013-09-18 15:36:58 | [diff] [blame] | 38 | } // namespace net |
39 | |||||
Ryan Hamilton | a3ee93a7 | 2018-08-01 22:03:08 | [diff] [blame] | 40 | #endif // NET_QUIC_QUIC_HTTP_UTILS_H_ |