1
#include "source/common/network/upstream_subject_alt_names.h"
2

            
3
#include "envoy/registry/registry.h"
4
#include "envoy/stream_info/filter_state.h"
5

            
6
#include "source/common/common/macros.h"
7

            
8
namespace Envoy {
9
namespace Network {
10

            
11
51931
const std::string& UpstreamSubjectAltNames::key() {
12
51931
  CONSTRUCT_ON_FIRST_USE(std::string, "envoy.network.upstream_subject_alt_names");
13
51931
}
14

            
15
class UpstreamSubjectAltNamesObjectFactory : public StreamInfo::FilterState::ObjectFactory {
16
public:
17
1672
  std::string name() const override { return UpstreamSubjectAltNames::key(); }
18
  std::unique_ptr<StreamInfo::FilterState::Object>
19
2
  createFromBytes(absl::string_view data) const override {
20
2
    const std::vector<std::string> parts = absl::StrSplit(data, ',');
21
2
    return std::make_unique<UpstreamSubjectAltNames>(parts);
22
2
  }
23
};
24

            
25
REGISTER_FACTORY(UpstreamSubjectAltNamesObjectFactory, StreamInfo::FilterState::ObjectFactory);
26
} // namespace Network
27
} // namespace Envoy