mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated agents maxUsage flag handle
This commit is contained in:
committed by
Dan Christian Bogos
parent
a51131e6cd
commit
511ef3a7ef
@@ -458,3 +458,13 @@ func (ar *AgentRequest) setCGRReply(rply utils.NavigableMapper, errRply error) (
|
||||
*ar.CGRReply = nm // update value so we can share CGRReply
|
||||
return
|
||||
}
|
||||
|
||||
func needsMaxUsage(ralsFlags []string) bool {
|
||||
for _, flag := range ralsFlags {
|
||||
if utils.IsSliceMember([]string{utils.MetaAuthorize, utils.MetaInitiate, utils.MetaUpdate},
|
||||
flag) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -388,11 +388,10 @@ func (da *DiameterAgent) processRequest(reqProcessor *config.RequestProcessor,
|
||||
ArgDispatcher: cgrArgs.ArgDispatcher,
|
||||
Paginator: *cgrArgs.SupplierPaginator,
|
||||
}
|
||||
needMaxUsage := utils.IsSliceMember([]string{utils.MetaAuthorize, utils.MetaInitiate, utils.MetaUpdate},
|
||||
reqProcessor.Flags.ParamsSlice(utils.MetaRALs)[0])
|
||||
rply := new(sessions.V1ProcessEventReply)
|
||||
err = da.connMgr.Call(da.cgrCfg.DiameterAgentCfg().SessionSConns, da, utils.SessionSv1ProcessEvent,
|
||||
evArgs, rply)
|
||||
needMaxUsage := needsMaxUsage(reqProcessor.Flags.ParamsSlice(utils.MetaRALs))
|
||||
if utils.ErrHasPrefix(err, utils.RalsErrorPrfx) {
|
||||
cgrEv.Event[utils.Usage] = 0 // avoid further debits
|
||||
} else if needMaxUsage {
|
||||
|
||||
@@ -314,12 +314,11 @@ func (da *DNSAgent) processRequest(reqProcessor *config.RequestProcessor,
|
||||
ArgDispatcher: cgrArgs.ArgDispatcher,
|
||||
Paginator: *cgrArgs.SupplierPaginator,
|
||||
}
|
||||
needMaxUsage := utils.IsSliceMember([]string{utils.MetaAuthorize, utils.MetaInitiate, utils.MetaUpdate},
|
||||
reqProcessor.Flags.ParamsSlice(utils.MetaRALs)[0])
|
||||
rply := new(sessions.V1ProcessEventReply)
|
||||
err = da.connMgr.Call(da.cgrCfg.DNSAgentCfg().SessionSConns, nil,
|
||||
utils.SessionSv1ProcessEvent,
|
||||
evArgs, rply)
|
||||
needMaxUsage := needsMaxUsage(reqProcessor.Flags.ParamsSlice(utils.MetaRALs))
|
||||
if utils.ErrHasPrefix(err, utils.RalsErrorPrfx) {
|
||||
cgrEv.Event[utils.Usage] = 0 // avoid further debits
|
||||
} else if needMaxUsage {
|
||||
|
||||
@@ -244,11 +244,10 @@ func (ha *HTTPAgent) processRequest(reqProcessor *config.RequestProcessor,
|
||||
ArgDispatcher: cgrArgs.ArgDispatcher,
|
||||
Paginator: *cgrArgs.SupplierPaginator,
|
||||
}
|
||||
needMaxUsage := utils.IsSliceMember([]string{utils.MetaAuthorize, utils.MetaInitiate, utils.MetaUpdate},
|
||||
reqProcessor.Flags.ParamsSlice(utils.MetaRALs)[0])
|
||||
rply := new(sessions.V1ProcessEventReply)
|
||||
err = ha.connMgr.Call(ha.sessionConns, nil, utils.SessionSv1ProcessEvent,
|
||||
evArgs, rply)
|
||||
needMaxUsage := needsMaxUsage(reqProcessor.Flags.ParamsSlice(utils.MetaRALs))
|
||||
if utils.ErrHasPrefix(err, utils.RalsErrorPrfx) {
|
||||
cgrEv.Event[utils.Usage] = 0 // avoid further debits
|
||||
} else if needMaxUsage {
|
||||
|
||||
@@ -284,11 +284,10 @@ func (ra *RadiusAgent) processRequest(reqProcessor *config.RequestProcessor,
|
||||
ArgDispatcher: cgrArgs.ArgDispatcher,
|
||||
Paginator: *cgrArgs.SupplierPaginator,
|
||||
}
|
||||
needMaxUsage := utils.IsSliceMember([]string{utils.MetaAuthorize, utils.MetaInitiate, utils.MetaUpdate},
|
||||
reqProcessor.Flags.ParamsSlice(utils.MetaRALs)[0])
|
||||
rply := new(sessions.V1ProcessEventReply)
|
||||
err = ra.connMgr.Call(ra.cgrCfg.RadiusAgentCfg().SessionSConns, nil, utils.SessionSv1ProcessEvent,
|
||||
evArgs, rply)
|
||||
needMaxUsage := needsMaxUsage(reqProcessor.Flags.ParamsSlice(utils.MetaRALs))
|
||||
if utils.ErrHasPrefix(err, utils.RalsErrorPrfx) {
|
||||
cgrEv.Event[utils.Usage] = 0 // avoid further debits
|
||||
} else if needMaxUsage {
|
||||
|
||||
Reference in New Issue
Block a user