forked from TrueCloudLab/frostfs-node
[#1062] node/object: Change the sequence of servers
In previous implementation ACL server was the 1st (except metric server in some cases) server in pipeline of Object service servers. This led to the fact that errors of this handler could not be reduced to status responses. Nest object ACL server into signature and response servers to support common response format. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
287bfd28e0
commit
e74ff7c15a
1 changed files with 13 additions and 13 deletions
|
@ -352,16 +352,6 @@ func initObjectService(c *cfg) {
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
respSvc := objectService.NewResponseService(
|
|
||||||
splitSvc,
|
|
||||||
c.respSvc,
|
|
||||||
)
|
|
||||||
|
|
||||||
signSvc := objectService.NewSignService(
|
|
||||||
&c.key.PrivateKey,
|
|
||||||
respSvc,
|
|
||||||
)
|
|
||||||
|
|
||||||
aclSvc := acl.New(
|
aclSvc := acl.New(
|
||||||
acl.WithSenderClassifier(
|
acl.WithSenderClassifier(
|
||||||
acl.NewSenderClassifier(
|
acl.NewSenderClassifier(
|
||||||
|
@ -373,7 +363,7 @@ func initObjectService(c *cfg) {
|
||||||
acl.WithContainerSource(
|
acl.WithContainerSource(
|
||||||
c.cfgObject.cnrSource,
|
c.cfgObject.cnrSource,
|
||||||
),
|
),
|
||||||
acl.WithNextService(signSvc),
|
acl.WithNextService(splitSvc),
|
||||||
acl.WithLocalStorage(ls),
|
acl.WithLocalStorage(ls),
|
||||||
acl.WithEACLValidatorOptions(
|
acl.WithEACLValidatorOptions(
|
||||||
eacl.WithEACLSource(c.cfgObject.eaclSource),
|
eacl.WithEACLSource(c.cfgObject.eaclSource),
|
||||||
|
@ -382,9 +372,19 @@ func initObjectService(c *cfg) {
|
||||||
acl.WithNetmapState(c.cfgNetmap.state),
|
acl.WithNetmapState(c.cfgNetmap.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
var firstSvc objectService.ServiceServer = aclSvc
|
respSvc := objectService.NewResponseService(
|
||||||
|
aclSvc,
|
||||||
|
c.respSvc,
|
||||||
|
)
|
||||||
|
|
||||||
|
signSvc := objectService.NewSignService(
|
||||||
|
&c.key.PrivateKey,
|
||||||
|
respSvc,
|
||||||
|
)
|
||||||
|
|
||||||
|
var firstSvc objectService.ServiceServer = signSvc
|
||||||
if c.metricsCollector != nil {
|
if c.metricsCollector != nil {
|
||||||
firstSvc = objectService.NewMetricCollector(aclSvc, c.metricsCollector)
|
firstSvc = objectService.NewMetricCollector(signSvc, c.metricsCollector)
|
||||||
}
|
}
|
||||||
|
|
||||||
server := objectTransportGRPC.New(firstSvc)
|
server := objectTransportGRPC.New(firstSvc)
|
||||||
|
|
Loading…
Reference in a new issue