1
#pragma once
2

            
3
#include "envoy/extensions/http/stateful_session/header/v3/header.pb.validate.h"
4

            
5
#include "source/extensions/http/stateful_session/header/header.h"
6

            
7
namespace Envoy {
8
namespace Extensions {
9
namespace Http {
10
namespace StatefulSession {
11
namespace Header {
12

            
13
class HeaderBasedSessionStateFactoryConfig : public Envoy::Http::SessionStateFactoryConfig {
14
public:
15
  Envoy::Http::SessionStateFactorySharedPtr
16
  createSessionStateFactory(const Protobuf::Message& config,
17
                            Server::Configuration::GenericFactoryContext& context) override;
18

            
19
7
  ProtobufTypes::MessagePtr createEmptyConfigProto() override {
20
7
    return std::make_unique<
21
7
        envoy::extensions::http::stateful_session::header::v3::HeaderBasedSessionState>();
22
7
  }
23

            
24
20
  std::string name() const override { return "envoy.http.stateful_session.header"; }
25
};
26

            
27
} // namespace Header
28
} // namespace StatefulSession
29
} // namespace Http
30
} // namespace Extensions
31
} // namespace Envoy