Lines
100 %
Functions
#pragma once
#include "envoy/access_log/access_log_config.h"
#include "source/extensions/common/wasm/remote_async_datasource.h"
namespace Envoy {
namespace Extensions {
namespace AccessLoggers {
namespace Wasm {
/**
* Config registration for the file access log. @see AccessLogInstanceFactory.
*/
class WasmAccessLogFactory : public AccessLog::AccessLogInstanceFactory,
Logger::Loggable<Logger::Id::wasm> {
public:
AccessLog::InstanceSharedPtr
createAccessLogInstance(const Protobuf::Message& config, AccessLog::FilterPtr&& filter,
Server::Configuration::GenericFactoryContext& context,
std::vector<Formatter::CommandParserPtr>&& = {}) override;
ProtobufTypes::MessagePtr createEmptyConfigProto() override;
std::string name() const override;
private:
absl::flat_hash_map<std::string, std::string> convertJsonFormatToMap(Protobuf::Struct config);
};
} // namespace Wasm
} // namespace AccessLoggers
} // namespace Extensions
} // namespace Envoy