summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/http2/adapter/header_validator.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/third_party/quiche/src/http2/adapter/header_validator.h')
-rw-r--r--chromium/net/third_party/quiche/src/http2/adapter/header_validator.h66
1 files changed, 0 insertions, 66 deletions
diff --git a/chromium/net/third_party/quiche/src/http2/adapter/header_validator.h b/chromium/net/third_party/quiche/src/http2/adapter/header_validator.h
deleted file mode 100644
index 30f16d52659..00000000000
--- a/chromium/net/third_party/quiche/src/http2/adapter/header_validator.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef QUICHE_HTTP2_ADAPTER_HEADER_VALIDATOR_H_
-#define QUICHE_HTTP2_ADAPTER_HEADER_VALIDATOR_H_
-
-#include <string>
-#include <vector>
-
-#include "absl/strings/string_view.h"
-#include "absl/types/optional.h"
-#include "common/platform/api/quiche_export.h"
-
-namespace http2 {
-namespace adapter {
-
-enum class HeaderType : uint8_t {
- REQUEST,
- REQUEST_TRAILER,
- RESPONSE_100,
- RESPONSE,
- RESPONSE_TRAILER,
-};
-
-class QUICHE_EXPORT_PRIVATE HeaderValidator {
- public:
- HeaderValidator() {}
-
- void SetMaxFieldSize(uint32_t field_size) { max_field_size_ = field_size; }
-
- // If called, this validator will allow the `:protocol` pseudo-header, as
- // described in RFC 8441.
- void AllowConnect() { allow_connect_ = true; }
-
- void StartHeaderBlock();
-
- enum HeaderStatus {
- HEADER_OK,
- HEADER_FIELD_INVALID,
- HEADER_FIELD_TOO_LONG,
- };
- HeaderStatus ValidateSingleHeader(absl::string_view key,
- absl::string_view value);
-
- // Returns true if all required pseudoheaders and no extra pseudoheaders are
- // present for the given header type.
- bool FinishHeaderBlock(HeaderType type);
-
- // For responses, returns the value of the ":status" header, if present.
- absl::string_view status_header() const { return status_; }
-
- absl::optional<size_t> content_length() const { return content_length_; }
-
- private:
- bool HandleContentLength(absl::string_view value);
-
- std::vector<std::string> pseudo_headers_;
- std::string status_;
- std::string method_;
- std::string path_;
- absl::optional<size_t> max_field_size_;
- absl::optional<size_t> content_length_;
- bool allow_connect_ = false;
-};
-
-} // namespace adapter
-} // namespace http2
-
-#endif // QUICHE_HTTP2_ADAPTER_HEADER_VALIDATOR_H_