chromium/net/third_party/quiche/src/quiche/binary_http/binary_http_message.cc

#include "quiche/binary_http/binary_http_message.h"

#include <algorithm>
#include <cstdint>
#include <functional>
#include <iterator>
#include <memory>
#include <ostream>
#include <string>
#include <utility>
#include <vector>

#include "absl/container/flat_hash_map.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/ascii.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
#include "quiche/common/quiche_callbacks.h"
#include "quiche/common/quiche_data_reader.h"
#include "quiche/common/quiche_data_writer.h"

namespace quiche {
namespace {

constexpr uint8_t kKnownLengthRequestFraming =;
constexpr uint8_t kKnownLengthResponseFraming =;

bool ReadStringValue(quiche::QuicheDataReader& reader, std::string& data) {}

bool IsValidPadding(absl::string_view data) {}

absl::StatusOr<BinaryHttpRequest::ControlData> DecodeControlData(
    quiche::QuicheDataReader& reader) {}

absl::Status DecodeFields(quiche::QuicheDataReader& reader,
                          quiche::UnretainedCallback<void(
                              absl::string_view name, absl::string_view value)>
                              callback) {}

absl::Status DecodeFieldsAndBody(quiche::QuicheDataReader& reader,
                                 BinaryHttpMessage& message) {}

absl::StatusOr<BinaryHttpRequest> DecodeKnownLengthRequest(
    quiche::QuicheDataReader& reader) {}

absl::StatusOr<BinaryHttpResponse> DecodeKnownLengthResponse(
    quiche::QuicheDataReader& reader) {}

uint64_t StringPieceVarInt62Len(absl::string_view s) {}
}  // namespace

void BinaryHttpMessage::Fields::AddField(BinaryHttpMessage::Field field) {}

// Encode fields in the order they were initially inserted.
// Updates do not change order.
absl::Status BinaryHttpMessage::Fields::Encode(
    quiche::QuicheDataWriter& writer) const {}

size_t BinaryHttpMessage::Fields::EncodedSize() const {}

size_t BinaryHttpMessage::Fields::EncodedFieldsSize() const {}

BinaryHttpMessage* BinaryHttpMessage::AddHeaderField(
    BinaryHttpMessage::Field field) {}

// Appends the encoded fields and body to data.
absl::Status BinaryHttpMessage::EncodeKnownLengthFieldsAndBody(
    quiche::QuicheDataWriter& writer) const {}

size_t BinaryHttpMessage::EncodedKnownLengthFieldsAndBodySize() const {}

absl::Status BinaryHttpResponse::AddInformationalResponse(
    uint16_t status_code, std::vector<Field> header_fields) {}

absl::StatusOr<std::string> BinaryHttpResponse::Serialize() const {}

absl::StatusOr<std::string> BinaryHttpResponse::EncodeAsKnownLength() const {}

size_t BinaryHttpResponse::EncodedSize() const {}

void BinaryHttpResponse::InformationalResponse::AddField(absl::string_view name,
                                                         std::string value) {}

// Appends the encoded fields and body to data.
absl::Status BinaryHttpResponse::InformationalResponse::Encode(
    quiche::QuicheDataWriter& writer) const {}

size_t BinaryHttpResponse::InformationalResponse::EncodedSize() const {}

absl::StatusOr<std::string> BinaryHttpRequest::Serialize() const {}

// https://www.ietf.org/archive/id/draft-ietf-httpbis-binary-message-06.html#name-request-control-data
absl::Status BinaryHttpRequest::EncodeControlData(
    quiche::QuicheDataWriter& writer) const {}

size_t BinaryHttpRequest::EncodedControlDataSize() const {}

size_t BinaryHttpRequest::EncodedSize() const {}

// https://www.ietf.org/archive/id/draft-ietf-httpbis-binary-message-06.html#name-known-length-messages
absl::StatusOr<std::string> BinaryHttpRequest::EncodeAsKnownLength() const {}

absl::StatusOr<BinaryHttpRequest> BinaryHttpRequest::Create(
    absl::string_view data) {}

absl::StatusOr<BinaryHttpResponse> BinaryHttpResponse::Create(
    absl::string_view data) {}

std::string BinaryHttpMessage::DebugString() const {}

std::string BinaryHttpMessage::Field::DebugString() const {}

std::string BinaryHttpResponse::InformationalResponse::DebugString() const {}

std::string BinaryHttpResponse::DebugString() const {}

std::string BinaryHttpRequest::DebugString() const {}

void PrintTo(const BinaryHttpRequest& msg, std::ostream* os) {}

void PrintTo(const BinaryHttpResponse& msg, std::ostream* os) {}

void PrintTo(const BinaryHttpMessage::Field& msg, std::ostream* os) {}

}  // namespace quiche