1
#pragma once
2

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

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

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

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

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

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

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