blob: 31a99de1dcaa3d2542c34b0569e75620dd02e7a6 [file] [log] [blame]
[email protected]24e5bc52013-09-18 15:36:581// 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 Hamiltona3ee93a72018-08-01 22:03:085#ifndef NET_QUIC_QUIC_HTTP_UTILS_H_
6#define NET_QUIC_QUIC_HTTP_UTILS_H_
[email protected]24e5bc52013-09-18 15:36:587
[email protected]47f95732014-01-07 11:20:038#include "base/values.h"
[email protected]24e5bc52013-09-18 15:36:589#include "net/base/net_export.h"
10#include "net/base/request_priority.h"
Ryan Hamilton0bed1572018-03-02 19:58:2111#include "net/log/net_log_capture_mode.h"
Victor Vasiliev6bb59d22019-03-08 21:34:5112#include "net/third_party/quiche/src/quic/core/quic_packets.h"
Victor Vasiliev27cc7712019-01-24 11:50:1413#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]24e5bc52013-09-18 15:36:5815
16namespace net {
17
Ryan Hamilton0239aac2018-05-19 00:03:1318NET_EXPORT_PRIVATE spdy::SpdyPriority ConvertRequestPriorityToQuicPriority(
19 RequestPriority priority);
[email protected]24e5bc52013-09-18 15:36:5820
ianswett0888cff2015-11-24 17:42:1621NET_EXPORT_PRIVATE RequestPriority
Ryan Hamilton0239aac2018-05-19 00:03:1322ConvertQuicPriorityToRequestPriority(spdy::SpdyPriority priority);
[email protected]24e5bc52013-09-18 15:36:5823
Ryan Hamilton0239aac2018-05-19 00:03:1324// Converts a spdy::SpdyHeaderBlock and priority into NetLog event parameters.
danakjad1777e2016-04-16 00:56:4225NET_EXPORT std::unique_ptr<base::Value> QuicRequestNetLogCallback(
Ryan Hamilton8d9ee76e2018-05-29 23:52:5226 quic::QuicStreamId stream_id,
Ryan Hamilton0239aac2018-05-19 00:03:1327 const spdy::SpdyHeaderBlock* headers,
28 spdy::SpdyPriority priority,
eroman001c3742015-04-23 03:11:1729 NetLogCaptureMode capture_mode);
[email protected]47f95732014-01-07 11:20:0330
Ryan Hamilton8d9ee76e2018-05-29 23:52:5231// Parses |alt_svc_versions| into a quic::QuicTransportVersionVector and removes
Yixin Wanga9afead2017-10-19 20:23:1032// all entries that aren't found in |supported_versions|.
Ryan Hamilton8d9ee76e2018-05-29 23:52:5233NET_EXPORT quic::QuicTransportVersionVector FilterSupportedAltSvcVersions(
Ryan Hamilton0239aac2018-05-19 00:03:1334 const spdy::SpdyAltSvcWireFormat::AlternativeService& quic_alt_svc,
Ryan Hamilton8d9ee76e2018-05-29 23:52:5235 const quic::QuicTransportVersionVector& supported_versions,
Yixin Wanga9afead2017-10-19 20:23:1036 bool support_ietf_format_quic_altsvc);
37
[email protected]24e5bc52013-09-18 15:36:5838} // namespace net
39
Ryan Hamiltona3ee93a72018-08-01 22:03:0840#endif // NET_QUIC_QUIC_HTTP_UTILS_H_