• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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