1
#pragma once
2

            
3
#include "envoy/router/string_accessor.h"
4

            
5
namespace Envoy {
6
namespace Router {
7

            
8
class StringAccessorImpl : public StringAccessor {
9
public:
10
310
  StringAccessorImpl(absl::string_view value) : value_(value) {}
11

            
12
  // StringAccessor
13
99
  absl::string_view asString() const override { return value_; }
14

            
15
  // FilterState::Object
16
35
  ProtobufTypes::MessagePtr serializeAsProto() const override {
17
35
    auto message = std::make_unique<Protobuf::StringValue>();
18
35
    message->set_value(value_);
19
35
    return message;
20
35
  }
21

            
22
133
  absl::optional<std::string> serializeAsString() const override { return value_; }
23

            
24
private:
25
  std::string value_;
26
};
27

            
28
} // namespace Router
29
} // namespace Envoy