Lines
100 %
Functions
#pragma once
#include "source/extensions/http/injected_credentials/common/credential.h"
#include "source/extensions/http/injected_credentials/common/secret_reader.h"
namespace Envoy {
namespace Extensions {
namespace Http {
namespace InjectedCredentials {
namespace Generic {
/**
* Implementation of credential injector's interface.
*/
class GenericCredentialInjector : public Common::CredentialInjector {
public:
GenericCredentialInjector(const std::string& header, const std::string& header_value_prefix,
Common::SecretReaderConstSharedPtr secret_reader)
: header_(header), header_value_prefix_(header_value_prefix), secret_reader_(secret_reader) {}
absl::Status inject(Envoy::Http::RequestHeaderMap& headers, bool overwrite) override;
private:
const Envoy::Http::LowerCaseString header_;
const std::string header_value_prefix_;
const Common::SecretReaderConstSharedPtr secret_reader_;
};
} // namespace Generic
} // namespace InjectedCredentials
} // namespace Http
} // namespace Extensions
} // namespace Envoy