chromium/net/third_party/quiche/src/quiche/web_transport/web_transport_headers.cc

// Copyright 2023 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "quiche/web_transport/web_transport_headers.h"

#include <array>
#include <cstdint>
#include <optional>
#include <string>
#include <utility>
#include <vector>

#include "absl/base/attributes.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "quiche/common/quiche_status_utils.h"
#include "quiche/common/structured_headers.h"

namespace webtransport {

namespace {
Dictionary;
DictionaryMember;
Item;
ItemTypeToString;
List;
ParameterizedItem;
ParameterizedMember;

absl::Status CheckItemType(const ParameterizedItem& item,
                           Item::ItemType expected_type) {}
absl::Status CheckMemberType(const ParameterizedMember& member,
                             Item::ItemType expected_type) {}

ABSL_CONST_INIT std::array kInitHeaderFields{};
}  // namespace

absl::StatusOr<std::vector<std::string>> ParseSubprotocolRequestHeader(
    absl::string_view value) {}

absl::StatusOr<std::string> SerializeSubprotocolRequestHeader(
    absl::Span<const std::string> subprotocols) {}

absl::StatusOr<std::string> ParseSubprotocolResponseHeader(
    absl::string_view value) {}

absl::StatusOr<std::string> SerializeSubprotocolResponseHeader(
    absl::string_view subprotocol) {}

absl::StatusOr<WebTransportInitHeader> ParseInitHeader(
    absl::string_view header) {}

absl::StatusOr<std::string> SerializeInitHeader(
    const WebTransportInitHeader& header) {}

}  // namespace webtransport