1
#include "source/extensions/http/stateful_session/cookie/config.h"
2

            
3
#include "source/common/config/utility.h"
4

            
5
namespace Envoy {
6
namespace Extensions {
7
namespace Http {
8
namespace StatefulSession {
9
namespace Cookie {
10

            
11
Envoy::Http::SessionStateFactorySharedPtr
12
CookieBasedSessionStateFactoryConfig::createSessionStateFactory(
13
11
    const Protobuf::Message& config, Server::Configuration::GenericFactoryContext& context) {
14

            
15
11
  const auto& proto_config = MessageUtil::downcastAndValidate<const CookieBasedSessionStateProto&>(
16
11
      config, context.messageValidationVisitor());
17
11
  return std::make_shared<CookieBasedSessionStateFactory>(
18
11
      proto_config, context.serverFactoryContext().mainThreadDispatcher().timeSource());
19
11
}
20

            
21
REGISTER_FACTORY(CookieBasedSessionStateFactoryConfig, Envoy::Http::SessionStateFactoryConfig);
22

            
23
} // namespace Cookie
24
} // namespace StatefulSession
25
} // namespace Http
26
} // namespace Extensions
27
} // namespace Envoy