forked from TrueCloudLab/frostfs-node
2897e83fb2
In previous implementation of eACL service v2 the response X-headers were validated at the stage of re-checking eACL. This provoked a mismatch of records in the eACL table with requests. Fix this behavior by checking the headers from the request, not the response. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
43 lines
727 B
Go
43 lines
727 B
Go
package v2
|
|
|
|
import (
|
|
"github.com/nspcc-dev/neofs-api-go/v2/refs"
|
|
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
|
|
)
|
|
|
|
func WithObjectStorage(v ObjectStorage) Option {
|
|
return func(c *cfg) {
|
|
c.storage = v
|
|
}
|
|
}
|
|
|
|
func WithLocalObjectStorage(v *engine.StorageEngine) Option {
|
|
return func(c *cfg) {
|
|
c.storage = &localStorage{
|
|
ls: v,
|
|
}
|
|
}
|
|
}
|
|
|
|
func WithServiceRequest(v Request) Option {
|
|
return func(c *cfg) {
|
|
c.msg = &requestXHeaderSource{
|
|
req: v,
|
|
}
|
|
}
|
|
}
|
|
|
|
func WithServiceResponse(resp Response, req Request) Option {
|
|
return func(c *cfg) {
|
|
c.msg = &responseXHeaderSource{
|
|
resp: resp,
|
|
req: req,
|
|
}
|
|
}
|
|
}
|
|
|
|
func WithAddress(v *refs.Address) Option {
|
|
return func(c *cfg) {
|
|
c.addr = v
|
|
}
|
|
}
|