diff --git a/lib/policy/expressions/http_headers.go b/lib/policy/expressions/http_headers.go index 735f4516..c4342dc3 100644 --- a/lib/policy/expressions/http_headers.go +++ b/lib/policy/expressions/http_headers.go @@ -5,7 +5,6 @@ import ( "reflect" "strings" - "github.com/TecharoHQ/anubis/lib/policy/checker" "github.com/google/cel-go/common/types" "github.com/google/cel-go/common/types/ref" "github.com/google/cel-go/common/types/traits" @@ -68,7 +67,7 @@ func (h HTTPHeaders) Get(key ref.Val) ref.Val { } func (h HTTPHeaders) Iterator() traits.Iterator { - return checker.NewMapIterator(h.Header) + return newMapIterator(h.Header) } func (h HTTPHeaders) IsZeroValue() bool { diff --git a/lib/policy/checker/celutils.go b/lib/policy/expressions/map_iterator.go similarity index 88% rename from lib/policy/checker/celutils.go rename to lib/policy/expressions/map_iterator.go index b260c622..4a86269f 100644 --- a/lib/policy/checker/celutils.go +++ b/lib/policy/expressions/map_iterator.go @@ -1,4 +1,4 @@ -package checker +package expressions import ( "errors" @@ -11,7 +11,7 @@ import ( "github.com/google/cel-go/common/types/traits" ) -var ErrNotImplemented = errors.New("cel: functionality not implemented") +var ErrNotImplemented = errors.New("expressions: not implemented") type stringSliceIterator struct { keys []string @@ -32,7 +32,6 @@ func (s *stringSliceIterator) ConvertToType(typeValue ref.Type) ref.Val { func (s *stringSliceIterator) Equal(other ref.Val) ref.Val { return types.NewErr("can't compare %q to %q", types.IteratorType, other.Type()) - } func (s *stringSliceIterator) Type() ref.Type { @@ -53,7 +52,7 @@ func (s *stringSliceIterator) Next() ref.Val { return types.String(val) } -func NewMapIterator(m map[string][]string) traits.Iterator { +func newMapIterator(m map[string][]string) traits.Iterator { return &stringSliceIterator{ keys: slices.Collect(maps.Keys(m)), idx: 0, diff --git a/lib/policy/expressions/url_values.go b/lib/policy/expressions/url_values.go index 9051da25..21d25d5b 100644 --- a/lib/policy/expressions/url_values.go +++ b/lib/policy/expressions/url_values.go @@ -1,19 +1,15 @@ package expressions import ( - "errors" "net/url" "reflect" "strings" - "github.com/TecharoHQ/anubis/lib/policy/checker" "github.com/google/cel-go/common/types" "github.com/google/cel-go/common/types/ref" "github.com/google/cel-go/common/types/traits" ) -var ErrNotImplemented = errors.New("expressions: not implemented") - // URLValues is a type wrapper to expose url.Values into CEL programs. type URLValues struct { url.Values @@ -71,7 +67,7 @@ func (u URLValues) Get(key ref.Val) ref.Val { } func (u URLValues) Iterator() traits.Iterator { - return checker.NewMapIterator(u.Values) + return newMapIterator(u.Values) } func (u URLValues) IsZeroValue() bool {