diff --git a/pkg/acl/eacl/enums.go b/pkg/acl/eacl/enums.go index f626202..f861d66 100644 --- a/pkg/acl/eacl/enums.go +++ b/pkg/acl/eacl/enums.go @@ -59,32 +59,6 @@ const ( HeaderFromObject ) -const ( - // ReservedHeaderNamePrefix used in filter names to specify well known - // headers such as container id, object id, owner id, etc. - // All names without this prefix used to lookup through user defined headers - // in object or x-headers in request. - ReservedHeaderNamePrefix = "_" - - // HdrObjSysNameID is a name of ID field in system header of object. - HdrObjSysNameID = ReservedHeaderNamePrefix + "ID" - - // HdrObjSysNameCID is a name of cid field in system header of object. - HdrObjSysNameCID = ReservedHeaderNamePrefix + "CID" - - // HdrObjSysNameOwnerID is a name of OwnerID field in system header of object. - HdrObjSysNameOwnerID = ReservedHeaderNamePrefix + "OWNER_ID" - - // HdrObjSysNameVersion is a name of version field in system header of object. - HdrObjSysNameVersion = ReservedHeaderNamePrefix + "VERSION" - - // HdrObjSysNamePayloadLength is a name of PayloadLength field in system header of object. - HdrObjSysNamePayloadLength = ReservedHeaderNamePrefix + "PAYLOAD_LENGTH" - - // HdrObjSysNameCreatedEpoch is a name of CreatedAt.Epoch field in system header of object. - HdrObjSysNameCreatedEpoch = ReservedHeaderNamePrefix + "CREATED_EPOCH" -) - func (a Action) ToV2() v2acl.Action { switch a { case ActionAllow: diff --git a/pkg/acl/eacl/filter_test.go b/pkg/acl/eacl/filter_test.go index 57dcb1d..17806c2 100644 --- a/pkg/acl/eacl/filter_test.go +++ b/pkg/acl/eacl/filter_test.go @@ -3,6 +3,7 @@ package eacl import ( "testing" + "github.com/nspcc-dev/neofs-api-go/pkg/object" v2acl "github.com/nspcc-dev/neofs-api-go/v2/acl" "github.com/stretchr/testify/require" ) @@ -10,7 +11,7 @@ import ( func TestFilter(t *testing.T) { filter := &Filter{ from: HeaderFromObject, - name: HdrObjSysNamePayloadLength, + name: object.HdrSysNamePayloadLength, matcher: MatchStringEqual, value: "200", } diff --git a/pkg/acl/eacl/record_test.go b/pkg/acl/eacl/record_test.go index f9b8ffb..1ed7263 100644 --- a/pkg/acl/eacl/record_test.go +++ b/pkg/acl/eacl/record_test.go @@ -4,6 +4,7 @@ import ( "crypto/ecdsa" "testing" + "github.com/nspcc-dev/neofs-api-go/pkg/object" v2acl "github.com/nspcc-dev/neofs-api-go/v2/acl" "github.com/nspcc-dev/neofs-crypto/test" "github.com/stretchr/testify/require" @@ -62,7 +63,7 @@ func TestRecord_AddFilter(t *testing.T) { filters := []Filter{ { from: HeaderFromObject, - name: HdrObjSysNameCID, + name: object.HdrSysNameCID, matcher: MatchStringEqual, value: "ContainerID", }, diff --git a/pkg/object/wellknown_headers.go b/pkg/object/wellknown_headers.go new file mode 100644 index 0000000..02e2e78 --- /dev/null +++ b/pkg/object/wellknown_headers.go @@ -0,0 +1,31 @@ +package object + +// This file contains well-known header names for eACL filters and search +// request filters. Both of them encode header type as string. There are +// constant strings for well-known object headers. + +const ( + // ReservedHeaderNamePrefix used in filter names to specify well known + // headers such as container id, object id, owner id, etc. + // All names without this prefix used to lookup through user defined headers + // in object or x-headers in request. + ReservedHeaderNamePrefix = "_" + + // HdrSysNameID is a name of ID field in system header of object. + HdrSysNameID = ReservedHeaderNamePrefix + "ID" + + // HdrSysNameCID is a name of cid field in system header of object. + HdrSysNameCID = ReservedHeaderNamePrefix + "CID" + + // HdrSysNameOwnerID is a name of OwnerID field in system header of object. + HdrSysNameOwnerID = ReservedHeaderNamePrefix + "OWNER_ID" + + // HdrSysNameVersion is a name of version field in system header of object. + HdrSysNameVersion = ReservedHeaderNamePrefix + "VERSION" + + // HdrSysNamePayloadLength is a name of PayloadLength field in system header of object. + HdrSysNamePayloadLength = ReservedHeaderNamePrefix + "PAYLOAD_LENGTH" + + // HdrSysNameCreatedEpoch is a name of CreatedAt.Epoch field in system header of object. + HdrSysNameCreatedEpoch = ReservedHeaderNamePrefix + "CREATED_EPOCH" +)