#ifndef QUICHE_WEB_TRANSPORT_WEB_TRANSPORT_HEADERS_H_
#define QUICHE_WEB_TRANSPORT_WEB_TRANSPORT_HEADERS_H_
#include <cstdint>
#include <string>
#include <vector>
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "quiche/common/platform/api/quiche_export.h"
namespace webtransport {
inline constexpr absl::string_view kSubprotocolRequestHeader = …;
inline constexpr absl::string_view kSubprotocolResponseHeader = …;
QUICHE_EXPORT absl::StatusOr<std::vector<std::string>>
ParseSubprotocolRequestHeader(absl::string_view value);
QUICHE_EXPORT absl::StatusOr<std::string> SerializeSubprotocolRequestHeader(
absl::Span<const std::string> subprotocols);
QUICHE_EXPORT absl::StatusOr<std::string> ParseSubprotocolResponseHeader(
absl::string_view value);
QUICHE_EXPORT absl::StatusOr<std::string> SerializeSubprotocolResponseHeader(
absl::string_view subprotocol);
inline constexpr absl::string_view kInitHeader = …;
struct QUICHE_EXPORT WebTransportInitHeader { … };
QUICHE_EXPORT absl::StatusOr<WebTransportInitHeader> ParseInitHeader(
absl::string_view header);
QUICHE_EXPORT absl::StatusOr<std::string> SerializeInitHeader(
const WebTransportInitHeader& header);
}
#endif