| // Copyright 2019 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef NET_HTTP_STRUCTURED_HEADERS_H_ | 
 | #define NET_HTTP_STRUCTURED_HEADERS_H_ | 
 |  | 
 | #include <string> | 
 |  | 
 | #include "base/strings/string_piece.h" | 
 | #include "net/third_party/quiche/src/quiche/common/structured_headers.h" | 
 | #include "third_party/abseil-cpp/absl/types/optional.h" | 
 |  | 
 | namespace net::structured_headers { | 
 |  | 
 | using Item = quiche::structured_headers::Item; | 
 | using ParameterisedIdentifier = | 
 |     quiche::structured_headers::ParameterisedIdentifier; | 
 | using ParameterizedItem = quiche::structured_headers::ParameterizedItem; | 
 | using ParameterizedMember = quiche::structured_headers::ParameterizedMember; | 
 | using DictionaryMember = quiche::structured_headers::DictionaryMember; | 
 | using Dictionary = quiche::structured_headers::Dictionary; | 
 | using ParameterisedList = quiche::structured_headers::ParameterisedList; | 
 | using ListOfLists = quiche::structured_headers::ListOfLists; | 
 | using List = quiche::structured_headers::List; | 
 | using Parameters = quiche::structured_headers::Parameters; | 
 |  | 
 | inline absl::optional<ParameterizedItem> ParseItem(base::StringPiece str) { | 
 |   return quiche::structured_headers::ParseItem(str); | 
 | } | 
 | inline absl::optional<Item> ParseBareItem(base::StringPiece str) { | 
 |   return quiche::structured_headers::ParseBareItem(str); | 
 | } | 
 | inline absl::optional<ParameterisedList> ParseParameterisedList( | 
 |     base::StringPiece str) { | 
 |   return quiche::structured_headers::ParseParameterisedList(str); | 
 | } | 
 | inline absl::optional<ListOfLists> ParseListOfLists(base::StringPiece str) { | 
 |   return quiche::structured_headers::ParseListOfLists(str); | 
 | } | 
 | inline absl::optional<List> ParseList(base::StringPiece str) { | 
 |   return quiche::structured_headers::ParseList(str); | 
 | } | 
 | inline absl::optional<Dictionary> ParseDictionary(base::StringPiece str) { | 
 |   return quiche::structured_headers::ParseDictionary(str); | 
 | } | 
 |  | 
 | inline absl::optional<std::string> SerializeItem(const Item& value) { | 
 |   return quiche::structured_headers::SerializeItem(value); | 
 | } | 
 | inline absl::optional<std::string> SerializeItem( | 
 |     const ParameterizedItem& value) { | 
 |   return quiche::structured_headers::SerializeItem(value); | 
 | } | 
 | inline absl::optional<std::string> SerializeList(const List& value) { | 
 |   return quiche::structured_headers::SerializeList(value); | 
 | } | 
 | inline absl::optional<std::string> SerializeDictionary( | 
 |     const Dictionary& value) { | 
 |   return quiche::structured_headers::SerializeDictionary(value); | 
 | } | 
 |  | 
 | }  // namespace net::structured_headers | 
 |  | 
 | #endif  // NET_HTTP_STRUCTURED_HEADERS_H_ |