MCPcopy
hub / github.com/grpc/grpc-go / NewChainEngine

Function NewChainEngine

internal/xds/rbac/rbac_engine.go:56–66  ·  view source on GitHub ↗

NewChainEngine returns a chain of RBAC engines, used to make authorization decisions on incoming RPCs. Returns a non-nil error for invalid policies.

(policies []*v3rbacpb.RBAC, policyName string)

Source from the content-addressed store, hash-verified

54// NewChainEngine returns a chain of RBAC engines, used to make authorization
55// decisions on incoming RPCs. Returns a non-nil error for invalid policies.
56func NewChainEngine(policies []*v3rbacpb.RBAC, policyName string) (*ChainEngine, error) {
57 engines := make([]*engine, 0, len(policies))
58 for _, policy := range policies {
59 engine, err := newEngine(policy, policyName)
60 if err != nil {
61 return nil, err
62 }
63 engines = append(engines, engine)
64 }
65 return &ChainEngine{chainedEngines: engines}, nil
66}
67
68func (cre *ChainEngine) logRequestDetails(rpcData *rpcData) {
69 if logger.V(2) {

Callers 4

NewStaticFunction · 0.92
parseConfigFunction · 0.92
TestNewChainEngineMethod · 0.85
TestChainEngineMethod · 0.85

Calls 1

newEngineFunction · 0.85

Tested by 2

TestNewChainEngineMethod · 0.68
TestChainEngineMethod · 0.68