1 // Copyright 2021 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_BALSA_NOOP_BALSA_VISITOR_H_ 6 #define QUICHE_BALSA_NOOP_BALSA_VISITOR_H_ 7 8 #include <cstddef> 9 10 #include "absl/strings/string_view.h" 11 #include "quiche/balsa/balsa_visitor_interface.h" 12 #include "quiche/common/platform/api/quiche_export.h" 13 14 namespace quiche { 15 16 class BalsaHeaders; 17 18 // Provides empty BalsaVisitorInterface overrides for convenience. 19 // Intended to be used as a base class for BalsaVisitorInterface subclasses that 20 // only need to override a small number of methods. 21 class QUICHE_EXPORT NoOpBalsaVisitor : public BalsaVisitorInterface { 22 public: 23 NoOpBalsaVisitor() = default; 24 25 NoOpBalsaVisitor(const NoOpBalsaVisitor&) = delete; 26 NoOpBalsaVisitor& operator=(const NoOpBalsaVisitor&) = delete; 27 ~NoOpBalsaVisitor()28 ~NoOpBalsaVisitor() override {} 29 OnRawBodyInput(absl::string_view)30 void OnRawBodyInput(absl::string_view /*input*/) override {} OnBodyChunkInput(absl::string_view)31 void OnBodyChunkInput(absl::string_view /*input*/) override {} OnHeaderInput(absl::string_view)32 void OnHeaderInput(absl::string_view /*input*/) override {} OnHeader(absl::string_view,absl::string_view)33 void OnHeader(absl::string_view /*key*/, 34 absl::string_view /*value*/) override {} OnTrailerInput(absl::string_view)35 void OnTrailerInput(absl::string_view /*input*/) override {} ProcessHeaders(const BalsaHeaders &)36 void ProcessHeaders(const BalsaHeaders& /*headers*/) override {} ProcessTrailers(const BalsaHeaders &)37 void ProcessTrailers(const BalsaHeaders& /*trailer*/) override {} 38 OnRequestFirstLineInput(absl::string_view,absl::string_view,absl::string_view,absl::string_view)39 void OnRequestFirstLineInput(absl::string_view /*line_input*/, 40 absl::string_view /*method_input*/, 41 absl::string_view /*request_uri_input*/, 42 absl::string_view /*version_input*/) override {} OnResponseFirstLineInput(absl::string_view,absl::string_view,absl::string_view,absl::string_view)43 void OnResponseFirstLineInput(absl::string_view /*line_input*/, 44 absl::string_view /*version_input*/, 45 absl::string_view /*status_input*/, 46 absl::string_view /*reason_input*/) override {} OnChunkLength(size_t)47 void OnChunkLength(size_t /*chunk_length*/) override {} OnChunkExtensionInput(absl::string_view)48 void OnChunkExtensionInput(absl::string_view /*input*/) override {} OnInterimHeaders(BalsaHeaders)49 void OnInterimHeaders(BalsaHeaders /*headers*/) override {} ContinueHeaderDone()50 void ContinueHeaderDone() override {} HeaderDone()51 void HeaderDone() override {} MessageDone()52 void MessageDone() override {} HandleError(BalsaFrameEnums::ErrorCode)53 void HandleError(BalsaFrameEnums::ErrorCode /*error_code*/) override {} HandleWarning(BalsaFrameEnums::ErrorCode)54 void HandleWarning(BalsaFrameEnums::ErrorCode /*error_code*/) override {} 55 }; 56 57 } // namespace quiche 58 59 #endif // QUICHE_BALSA_NOOP_BALSA_VISITOR_H_ 60