(request request)
| 246 | } |
| 247 | |
| 248 | func parseRequest(request request) (*v3rbacpb.Permission, error) { |
| 249 | var and []*v3rbacpb.Permission |
| 250 | if len(request.Paths) > 0 { |
| 251 | and = append(and, permissionOr(parsePaths(request.Paths))) |
| 252 | } |
| 253 | if len(request.Headers) > 0 { |
| 254 | headers, err := parseHeaders(request.Headers) |
| 255 | if err != nil { |
| 256 | return nil, err |
| 257 | } |
| 258 | and = append(and, permissionAnd(headers)) |
| 259 | } |
| 260 | if len(and) > 0 { |
| 261 | return permissionAnd(and), nil |
| 262 | } |
| 263 | return &v3rbacpb.Permission{ |
| 264 | Rule: &v3rbacpb.Permission_Any{ |
| 265 | Any: true, |
| 266 | }, |
| 267 | }, nil |
| 268 | } |
| 269 | |
| 270 | func parseRules(rules []rule, prefixName string) (map[string]*v3rbacpb.Policy, error) { |
| 271 | policies := make(map[string]*v3rbacpb.Policy) |
no test coverage detected