Skip to content
This repository was archived by the owner on Jun 6, 2023. It is now read-only.

Commit d53b617

Browse files
Trial97danbogos
authored andcommitted
Updated flatsore ers
1 parent 8787d46 commit d53b617

33 files changed

+165
-297
lines changed

agents/agentreq.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func NewAgentRequest(req utils.DataProvider,
3636
tntTpl config.RSRParsers,
3737
dfltTenant, timezone string,
3838
filterS *engine.FilterS,
39-
header, trailer utils.DataProvider) (ar *AgentRequest) {
39+
extraDP map[string]utils.DataProvider) (ar *AgentRequest) {
4040
if cgrRply == nil {
4141
cgrRply = &utils.DataNode{Type: utils.NMMapType, Map: make(map[string]*utils.DataNode)}
4242
}
@@ -49,6 +49,9 @@ func NewAgentRequest(req utils.DataProvider,
4949
if opts == nil {
5050
opts = make(utils.MapStorage)
5151
}
52+
if extraDP == nil {
53+
extraDP = make(map[string]utils.DataProvider)
54+
}
5255
ar = &AgentRequest{
5356
Request: req,
5457
Tenant: dfltTenant,
@@ -59,10 +62,9 @@ func NewAgentRequest(req utils.DataProvider,
5962
Reply: rply,
6063
Timezone: timezone,
6164
filterS: filterS,
62-
Header: header,
63-
Trailer: trailer,
6465
Opts: opts,
6566
Cfg: config.CgrConfig().GetDataProvider(),
67+
ExtraDP: extraDP,
6668
}
6769
if tnt, err := tntTpl.ParseDataProvider(ar); err == nil && tnt != utils.EmptyString {
6870
ar.Tenant = tnt
@@ -82,12 +84,11 @@ type AgentRequest struct {
8284
Tenant string
8385
Timezone string
8486
filterS *engine.FilterS
85-
Header utils.DataProvider
86-
Trailer utils.DataProvider
8787
diamreq *utils.OrderedNavigableMap // used in case of building requests (ie. DisconnectSession)
8888
tmp *utils.DataNode // used in case you want to store temporary items and access them later
8989
Opts utils.MapStorage
9090
Cfg utils.DataProvider
91+
ExtraDP map[string]utils.DataProvider
9192
}
9293

9394
// String implements utils.DataProvider
@@ -104,7 +105,11 @@ func (ar *AgentRequest) RemoteHost() net.Addr {
104105
func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val interface{}, err error) {
105106
switch fldPath[0] {
106107
default:
107-
return nil, fmt.Errorf("unsupported field prefix: <%s>", fldPath[0])
108+
dp, has := ar.ExtraDP[fldPath[0]]
109+
if !has {
110+
return nil, fmt.Errorf("unsupported field prefix: <%s>", fldPath[0])
111+
}
112+
val, err = dp.FieldAsInterface(fldPath[1:])
108113
case utils.MetaReq:
109114
val, err = ar.Request.FieldAsInterface(fldPath[1:])
110115
case utils.MetaVars:
@@ -117,10 +122,6 @@ func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val interface{}, err
117122
val, err = ar.diamreq.FieldAsInterface(fldPath[1:])
118123
case utils.MetaRep:
119124
val, err = ar.Reply.FieldAsInterface(fldPath[1:])
120-
case utils.MetaHdr:
121-
val, err = ar.Header.FieldAsInterface(fldPath[1:])
122-
case utils.MetaTrl:
123-
val, err = ar.Trailer.FieldAsInterface(fldPath[1:])
124125
case utils.MetaTmp:
125126
val, err = ar.tmp.FieldAsInterface(fldPath[1:])
126127
case utils.MetaUCH:

agents/agentreq_test.go

Lines changed: 46 additions & 46 deletions
Large diffs are not rendered by default.

agents/diamagent.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ func (da *DiameterAgent) handleMessage(c diam.Conn, m *diam.Message) {
274274
reqProcessor.Tenant, da.cgrCfg.GeneralCfg().DefaultTenant,
275275
utils.FirstNonEmpty(reqProcessor.Timezone,
276276
da.cgrCfg.GeneralCfg().DefaultTimezone),
277-
da.filterS, nil, nil))
277+
da.filterS, nil))
278278
if lclProcessed {
279279
processed = lclProcessed
280280
}
@@ -530,7 +530,7 @@ func (da *DiameterAgent) sendASR(originID string, reply *string) (err error) {
530530
newDADataProvider(dmd.c, dmd.m),
531531
dmd.vars, nil, nil, nil, nil,
532532
da.cgrCfg.GeneralCfg().DefaultTenant,
533-
da.cgrCfg.GeneralCfg().DefaultTimezone, da.filterS, nil, nil)
533+
da.cgrCfg.GeneralCfg().DefaultTimezone, da.filterS, nil)
534534
if err = aReq.SetFields(da.cgrCfg.TemplatesCfg()[da.cgrCfg.DiameterAgentCfg().ASRTemplate]); err != nil {
535535
utils.Logger.Warning(
536536
fmt.Sprintf("<%s> cannot disconnect session with OriginID: <%s>, err: %s",
@@ -573,7 +573,7 @@ func (da *DiameterAgent) V1ReAuthorize(originID string, reply *string) (err erro
573573
newDADataProvider(dmd.c, dmd.m),
574574
dmd.vars, nil, nil, nil, nil,
575575
da.cgrCfg.GeneralCfg().DefaultTenant,
576-
da.cgrCfg.GeneralCfg().DefaultTimezone, da.filterS, nil, nil)
576+
da.cgrCfg.GeneralCfg().DefaultTimezone, da.filterS, nil)
577577
if err = aReq.SetFields(da.cgrCfg.TemplatesCfg()[da.cgrCfg.DiameterAgentCfg().RARTemplate]); err != nil {
578578
utils.Logger.Warning(
579579
fmt.Sprintf("<%s> cannot send RAR with OriginID: <%s>, err: %s",

agents/diamagent_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ func TestProcessRequest(t *testing.T) {
443443
reqProcessor.Flags = utils.FlagsWithParamsFromSlice([]string{utils.MetaAuthorize, utils.MetaAccounts})
444444
agReq := NewAgentRequest(diamDP, reqVars, cgrRplyNM, rply, nil,
445445
reqProcessor.Tenant, config.CgrConfig().GeneralCfg().DefaultTenant,
446-
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil, nil)
446+
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil)
447447

448448
internalSessionSChan := make(chan rpcclient.ClientConnector, 1)
449449
internalSessionSChan <- sS
@@ -471,7 +471,7 @@ func TestProcessRequest(t *testing.T) {
471471

472472
agReq = NewAgentRequest(diamDP, reqVars, cgrRplyNM, rply, nil,
473473
reqProcessor.Tenant, config.CgrConfig().GeneralCfg().DefaultTenant,
474-
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil, nil)
474+
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil)
475475

476476
pr, err = da.processRequest(reqProcessor, agReq)
477477
if err != nil {
@@ -488,7 +488,7 @@ func TestProcessRequest(t *testing.T) {
488488

489489
agReq = NewAgentRequest(diamDP, reqVars, cgrRplyNM, rply, nil,
490490
reqProcessor.Tenant, config.CgrConfig().GeneralCfg().DefaultTenant,
491-
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil, nil)
491+
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil)
492492

493493
pr, err = da.processRequest(reqProcessor, agReq)
494494
if err != nil {
@@ -511,7 +511,7 @@ func TestProcessRequest(t *testing.T) {
511511

512512
agReq = NewAgentRequest(diamDP, reqVars, cgrRplyNM, rply, nil,
513513
reqProcessor.Tenant, config.CgrConfig().GeneralCfg().DefaultTenant,
514-
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil, nil)
514+
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil)
515515

516516
pr, err = da.processRequest(reqProcessor, agReq)
517517
if err != nil {
@@ -528,7 +528,7 @@ func TestProcessRequest(t *testing.T) {
528528

529529
agReq = NewAgentRequest(diamDP, reqVars, cgrRplyNM, rply, nil,
530530
reqProcessor.Tenant, config.CgrConfig().GeneralCfg().DefaultTenant,
531-
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil, nil)
531+
config.CgrConfig().GeneralCfg().DefaultTimezone, filters, nil)
532532

533533
pr, err = da.processRequest(reqProcessor, agReq)
534534
if err != nil {

agents/dnsagent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func (da *DNSAgent) handleMessage(w dns.ResponseWriter, req *dns.Msg) {
129129
da.cgrCfg.GeneralCfg().DefaultTenant,
130130
utils.FirstNonEmpty(da.cgrCfg.DNSAgentCfg().Timezone,
131131
da.cgrCfg.GeneralCfg().DefaultTimezone),
132-
da.fltrS, nil, nil))
132+
da.fltrS, nil))
133133
if lclProcessed {
134134
processed = lclProcessed
135135
}

agents/httpagent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func (ha *HTTPAgent) ServeHTTP(w http.ResponseWriter, req *http.Request) {
7272
opts, reqProcessor.Tenant, ha.dfltTenant,
7373
utils.FirstNonEmpty(reqProcessor.Timezone,
7474
config.CgrConfig().GeneralCfg().DefaultTimezone),
75-
ha.filterS, nil, nil)
75+
ha.filterS, nil)
7676
lclProcessed, err := ha.processRequest(reqProcessor, agReq)
7777
if err != nil {
7878
utils.Logger.Warning(

agents/libdiam.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ func diamErr(m *diam.Message, resCode uint32,
466466
aReq := NewAgentRequest(
467467
newDADataProvider(nil, m), reqVars,
468468
nil, nil, nil, nil,
469-
tnt, tmz, filterS, nil, nil)
469+
tnt, tmz, filterS, nil)
470470
if err = aReq.SetFields(tpl); err != nil {
471471
return
472472
}

agents/libdiam_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1149,7 +1149,7 @@ func TestFilterWithDiameterDP(t *testing.T) {
11491149
dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true),
11501150
config.CgrConfig().CacheCfg(), nil)
11511151
filterS := engine.NewFilterS(cfg, nil, dm)
1152-
agReq := NewAgentRequest(dP, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil, nil)
1152+
agReq := NewAgentRequest(dP, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil)
11531153

11541154
if pass, err := filterS.Pass("cgrates.org",
11551155
[]string{"*exists:~*req.Multiple-Services-Credit-Control.Rating-Group[~Rating-Group(99)]:"}, agReq); err != nil {

agents/librad_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func TestRadReplyAppendAttributes(t *testing.T) {
8989
for _, v := range rplyFlds {
9090
v.ComputePath()
9191
}
92-
agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", nil, nil, nil)
92+
agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", nil, nil)
9393
agReq.CGRReply.Set([]string{utils.CapMaxUsage}, utils.NewLeafNode(time.Hour))
9494
agReq.CGRReply.Set([]string{utils.CapAttributes, "RadReply"}, utils.NewLeafNode("AccessAccept"))
9595
agReq.CGRReply.Set([]string{utils.CapAttributes, utils.AccountField}, utils.NewLeafNode("1001"))

agents/libsip.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func sipErr(m utils.DataProvider, sipMessage sipingo.Message,
5050
aReq := NewAgentRequest(
5151
m, reqVars,
5252
nil, nil, nil, nil,
53-
tnt, tmz, filterS, nil, nil)
53+
tnt, tmz, filterS, nil)
5454
if err = aReq.SetFields(tpl); err != nil {
5555
return
5656
}

0 commit comments

Comments
 (0)