From b9d89edb4b3f84abf4751ad36ee56744bf36e729 Mon Sep 17 00:00:00 2001 From: TeoV Date: Thu, 4 Jul 2019 15:12:02 +0300 Subject: [PATCH] Agents: changing continue_on_success to continue --- agents/diamagent.go | 2 +- agents/dnsagent.go | 2 +- agents/httpagent.go | 2 +- agents/radagent.go | 4 ++-- config/dnsagentcfg_test.go | 20 +++++++++---------- config/dnsagntcfg.go | 20 +++++++++---------- config/libconfig_json.go | 16 +++++++-------- config/multifiles_it_test.go | 2 +- data/conf/samples/diamagent/data.json | 2 +- data/conf/samples/diamagent/dryrun.json | 2 +- .../samples/diamagentmaxconn/cgrates.json | 2 +- data/conf/samples/diamsctpagent/data.json | 2 +- data/conf/samples/diamsctpagent/dryrun.json | 2 +- .../samples/dispatchers/diamagent/data.json | 2 +- .../samples/dispatchers/diamagent/dryrun.json | 2 +- .../samples/dispatchers/radagent/cgrates.json | 3 --- data/conf/samples/dnsagent/suppliers.json | 6 +++--- data/conf/samples/radagent/cgrates.json | 3 --- 18 files changed, 44 insertions(+), 50 deletions(-) diff --git a/agents/diamagent.go b/agents/diamagent.go index 8bea01b3d..e8ea00872 100644 --- a/agents/diamagent.go +++ b/agents/diamagent.go @@ -218,7 +218,7 @@ func (da *DiameterAgent) handleMessage(c diam.Conn, m *diam.Message) { processed = lclProcessed } if err != nil || - (lclProcessed && !reqProcessor.ContinueOnSuccess) { + (lclProcessed && !reqProcessor.Continue) { break } } diff --git a/agents/dnsagent.go b/agents/dnsagent.go index a9a121f40..f2e1951eb 100644 --- a/agents/dnsagent.go +++ b/agents/dnsagent.go @@ -110,7 +110,7 @@ func (da *DNSAgent) handleMessage(w dns.ResponseWriter, req *dns.Msg) { processed = lclProcessed } if err != nil || - (lclProcessed && !reqProcessor.ContinueOnSuccess) { + (lclProcessed && !reqProcessor.Continue) { break } } diff --git a/agents/httpagent.go b/agents/httpagent.go index 5d47524e6..3dec2de1a 100644 --- a/agents/httpagent.go +++ b/agents/httpagent.go @@ -89,7 +89,7 @@ func (ha *HTTPAgent) ServeHTTP(w http.ResponseWriter, req *http.Request) { utils.HTTPAgent, err.Error(), utils.ToJSON(agReq.Reply))) return } - if lclProcessed && !reqProcessor.ContinueOnSuccess { + if lclProcessed && !reqProcessor.Continue { break } } diff --git a/agents/radagent.go b/agents/radagent.go index a2e49ade5..d5c159158 100644 --- a/agents/radagent.go +++ b/agents/radagent.go @@ -89,7 +89,7 @@ func (ra *RadiusAgent) handleAuth(req *radigo.Packet) (rpl *radigo.Packet, err e if lclProcessed, err = ra.processRequest(reqProcessor, agReq, rpl); lclProcessed { processed = lclProcessed } - if err != nil || (lclProcessed && !reqProcessor.ContinueOnSuccess) { + if err != nil || (lclProcessed && !reqProcessor.Continue) { break } } @@ -125,7 +125,7 @@ func (ra *RadiusAgent) handleAcct(req *radigo.Packet) (rpl *radigo.Packet, err e if lclProcessed, err = ra.processRequest(reqProcessor, agReq, rpl); lclProcessed { processed = lclProcessed } - if err != nil || (lclProcessed && !reqProcessor.ContinueOnSuccess) { + if err != nil || (lclProcessed && !reqProcessor.Continue) { break } } diff --git a/config/dnsagentcfg_test.go b/config/dnsagentcfg_test.go index 5c58ed464..1366b6348 100644 --- a/config/dnsagentcfg_test.go +++ b/config/dnsagentcfg_test.go @@ -80,18 +80,18 @@ func TestRequestProcessorloadFromJsonCfg(t *testing.T) { t.Errorf("Expected: %+v ,recived: %+v", expected, dareq) } json := &ReqProcessorJsnCfg{ - ID: utils.StringPointer("cgrates"), - Tenant: utils.StringPointer("tenant"), - Filters: &[]string{"filter1", "filter2"}, - Flags: &[]string{"flag1", "flag2"}, - Continue_on_success: utils.BoolPointer(true), + ID: utils.StringPointer("cgrates"), + Tenant: utils.StringPointer("tenant"), + Filters: &[]string{"filter1", "filter2"}, + Flags: &[]string{"flag1", "flag2"}, + Continue: utils.BoolPointer(true), } expected = RequestProcessor{ - ID: "cgrates", - Tenant: NewRSRParsersMustCompile("tenant", true, utils.INFIELD_SEP), - Filters: []string{"filter1", "filter2"}, - Flags: utils.FlagsWithParams{"flag1": []string{}, "flag2": []string{}}, - ContinueOnSuccess: true, + ID: "cgrates", + Tenant: NewRSRParsersMustCompile("tenant", true, utils.INFIELD_SEP), + Filters: []string{"filter1", "filter2"}, + Flags: utils.FlagsWithParams{"flag1": []string{}, "flag2": []string{}}, + Continue: true, } if err = dareq.loadFromJsonCfg(json, utils.INFIELD_SEP); err != nil { t.Error(err) diff --git a/config/dnsagntcfg.go b/config/dnsagntcfg.go index 8267ff181..aa97c5cc7 100644 --- a/config/dnsagntcfg.go +++ b/config/dnsagntcfg.go @@ -78,14 +78,14 @@ func (da *DNSAgentCfg) loadFromJsonCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err // One request processor configuration type RequestProcessor struct { - ID string - Tenant RSRParsers - Filters []string - Flags utils.FlagsWithParams - ContinueOnSuccess bool - Timezone string - RequestFields []*FCTemplate - ReplyFields []*FCTemplate + ID string + Tenant RSRParsers + Filters []string + Flags utils.FlagsWithParams + Continue bool + Timezone string + RequestFields []*FCTemplate + ReplyFields []*FCTemplate } func (rp *RequestProcessor) loadFromJsonCfg(jsnCfg *ReqProcessorJsnCfg, sep string) (err error) { @@ -109,8 +109,8 @@ func (rp *RequestProcessor) loadFromJsonCfg(jsnCfg *ReqProcessorJsnCfg, sep stri if jsnCfg.Timezone != nil { rp.Timezone = *jsnCfg.Timezone } - if jsnCfg.Continue_on_success != nil { - rp.ContinueOnSuccess = *jsnCfg.Continue_on_success + if jsnCfg.Continue != nil { + rp.Continue = *jsnCfg.Continue } if jsnCfg.Tenant != nil { if rp.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, sep); err != nil { diff --git a/config/libconfig_json.go b/config/libconfig_json.go index 2680b2293..29135d82c 100755 --- a/config/libconfig_json.go +++ b/config/libconfig_json.go @@ -338,14 +338,14 @@ type DNSAgentJsonCfg struct { } type ReqProcessorJsnCfg struct { - ID *string - Filters *[]string - Tenant *string - Timezone *string - Flags *[]string - Continue_on_success *bool - Request_fields *[]*FcTemplateJsonCfg - Reply_fields *[]*FcTemplateJsonCfg + ID *string + Filters *[]string + Tenant *string + Timezone *string + Flags *[]string + Continue *bool + Request_fields *[]*FcTemplateJsonCfg + Reply_fields *[]*FcTemplateJsonCfg } // Attribute service config section diff --git a/config/multifiles_it_test.go b/config/multifiles_it_test.go index 1b9ba871a..98d7ca45a 100644 --- a/config/multifiles_it_test.go +++ b/config/multifiles_it_test.go @@ -203,7 +203,7 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { RequestProcessors: []*RequestProcessor{{ ID: "cdr_from_xml", Tenant: NewRSRParsersMustCompile("cgrates.org", true, utils.INFIELD_SEP), - Flags: utils.FlagsWithParams{"*cdrs": true}, + Flags: utils.FlagsWithParams{"*cdrs": []string{}}, RequestFields: []*FCTemplate{ { Tag: "TOR", diff --git a/data/conf/samples/diamagent/data.json b/data/conf/samples/diamagent/data.json index f401943c7..6b191ed7a 100644 --- a/data/conf/samples/diamagent/data.json +++ b/data/conf/samples/diamagent/data.json @@ -35,7 +35,6 @@ "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.CC-Request-Type:2", "*string:~*req.Multiple-Services-Credit-Control.Rating-Group:1", "*prefix:~*req.Service-Context-Id:gprs"], "flags": ["*update", "*accounts"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*data"}, {"tag": "InitialOriginID", "field_id": "InitialOriginID", "type": "*composed", @@ -61,6 +60,7 @@ {"tag": "ResultCode", "filters": ["*rsr::~*cgrep.Error(!^$)"], "field_id": "Result-Code", "type": "*constant", "value": "5030", "blocker": true}, ], + "continue": true, }, { diff --git a/data/conf/samples/diamagent/dryrun.json b/data/conf/samples/diamagent/dryrun.json index 5e2b7d74e..ca076d017 100644 --- a/data/conf/samples/diamagent/dryrun.json +++ b/data/conf/samples/diamagent/dryrun.json @@ -6,7 +6,6 @@ "id": "dryrun1", "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.Service-Context-Id:TestDiamItDryRun"], "flags": ["*dryrun"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*sms"}, {"tag": "Val1", "field_id": "Val1", "type": "*constant", "value": "1"}, @@ -36,6 +35,7 @@ {"tag": "GrantedUsage", "field_id": "Granted-Service-Unit.CC-Time", "type": "*sum", "value": "~*cgreq.Val1;~*cgreq.Val2;~*cgreq.Val3"}, ], + "continue": true, }, { "id": "dryrun2", diff --git a/data/conf/samples/diamagentmaxconn/cgrates.json b/data/conf/samples/diamagentmaxconn/cgrates.json index eabdb7fae..d39311ecd 100755 --- a/data/conf/samples/diamagentmaxconn/cgrates.json +++ b/data/conf/samples/diamagentmaxconn/cgrates.json @@ -76,9 +76,9 @@ "id": "maxconn", "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.Service-Context-Id:TestDiamItDryRun"], "flags": ["*dryrun"], - "continue_on_success": true, "request_fields":[], "reply_fields":[], + "continue": true, }, ], }, diff --git a/data/conf/samples/diamsctpagent/data.json b/data/conf/samples/diamsctpagent/data.json index e42c19fa1..44dd19bab 100755 --- a/data/conf/samples/diamsctpagent/data.json +++ b/data/conf/samples/diamsctpagent/data.json @@ -35,7 +35,6 @@ "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.CC-Request-Type:2", "*string:~*req.Multiple-Services-Credit-Control.Rating-Group:1", "*prefix:~*req.Service-Context-Id:gprs"], "flags": ["*update", "*accounts"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*data"}, {"tag": "InitialOriginID", "field_id": "InitialOriginID", "type": "*composed", @@ -61,6 +60,7 @@ {"tag": "ResultCode", "filters": ["*rsr::~*cgrep.Error(!^$)"], "field_id": "Result-Code", "type": "*constant", "value": "5030", "blocker": true}, ], + "continue": true, }, { diff --git a/data/conf/samples/diamsctpagent/dryrun.json b/data/conf/samples/diamsctpagent/dryrun.json index 5e2b7d74e..ca076d017 100755 --- a/data/conf/samples/diamsctpagent/dryrun.json +++ b/data/conf/samples/diamsctpagent/dryrun.json @@ -6,7 +6,6 @@ "id": "dryrun1", "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.Service-Context-Id:TestDiamItDryRun"], "flags": ["*dryrun"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*sms"}, {"tag": "Val1", "field_id": "Val1", "type": "*constant", "value": "1"}, @@ -36,6 +35,7 @@ {"tag": "GrantedUsage", "field_id": "Granted-Service-Unit.CC-Time", "type": "*sum", "value": "~*cgreq.Val1;~*cgreq.Val2;~*cgreq.Val3"}, ], + "continue": true, }, { "id": "dryrun2", diff --git a/data/conf/samples/dispatchers/diamagent/data.json b/data/conf/samples/dispatchers/diamagent/data.json index c10cf5bdf..591ed7d0d 100644 --- a/data/conf/samples/dispatchers/diamagent/data.json +++ b/data/conf/samples/dispatchers/diamagent/data.json @@ -36,7 +36,6 @@ "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.CC-Request-Type:2", "*string:*req.Multiple-Services-Credit-Control.Rating-Group:1", "*prefix:*req.Service-Context-Id:gprs"], "flags": ["*update", "*accounts"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*data"}, {"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"}, @@ -63,6 +62,7 @@ {"tag": "ResultCode", "filters": ["*rsr::~*cgrep.Error(!^$)"], "field_id": "Result-Code", "type": "*constant", "value": "5030", "blocker": true}, ], + "continue": true, }, { diff --git a/data/conf/samples/dispatchers/diamagent/dryrun.json b/data/conf/samples/dispatchers/diamagent/dryrun.json index ab3242d3d..f6d6103f6 100644 --- a/data/conf/samples/dispatchers/diamagent/dryrun.json +++ b/data/conf/samples/dispatchers/diamagent/dryrun.json @@ -6,7 +6,6 @@ "id": "dryrun1", "filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.Service-Context-Id:TestDiamItDryRun"], "flags": ["*dryrun"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*sms"}, {"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"}, @@ -37,6 +36,7 @@ {"tag": "GrantedUsage", "field_id": "Granted-Service-Unit.CC-Time", "type": "*sum", "value": "~*cgreq.Val1;~*cgreq.Val2;~*cgreq.Val3"}, ], + "continue": true, }, { "id": "dryrun2", diff --git a/data/conf/samples/dispatchers/radagent/cgrates.json b/data/conf/samples/dispatchers/radagent/cgrates.json index 9af1a7a98..7a7cda5e7 100644 --- a/data/conf/samples/dispatchers/radagent/cgrates.json +++ b/data/conf/samples/dispatchers/radagent/cgrates.json @@ -55,7 +55,6 @@ "id": "KamailioAuth", "filters": ["*string:~*vars.*radReqType:*radAuth"], "flags": ["*auth", "*accounts","*dispatchers"], - "continue_on_success": false, "request_fields":[ {"tag": "Category", "field_id": "Category", "type": "*constant", "value": "call"}, // {"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"}, @@ -83,7 +82,6 @@ "id": "KamailioAccountingStart", "filters": ["*string:~*req.Acct-Status-Type:Start"], "flags": ["*initiate", "*attributes", "*resources", "*accounts","*dispatchers"], - "continue_on_success": false, "request_fields":[ {"tag": "Category", "field_id": "Category", "type": "*constant", "value": "call"}, // {"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"}, @@ -111,7 +109,6 @@ "id": "KamailioAccountingStop", "filters": ["*string:~*req.Acct-Status-Type:Stop"], "flags": ["*terminate", "*resources", "*accounts", "*cdrs","*dispatchers"], - "continue_on_success": false, "request_fields":[ {"tag": "Category", "field_id": "Category", "type": "*constant", "value": "call"}, // {"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"}, diff --git a/data/conf/samples/dnsagent/suppliers.json b/data/conf/samples/dnsagent/suppliers.json index d8c2d413d..ab4e007ba 100644 --- a/data/conf/samples/dnsagent/suppliers.json +++ b/data/conf/samples/dnsagent/suppliers.json @@ -7,7 +7,6 @@ "filters": ["*string:~*vars.QueryType:NAPTR", "*string:~*vars.E164Address:4986517174965"], "flags": ["*event", "*suppliers"], - "continue_on_success": true, "request_fields":[ {"tag": "TOR", "field_id": "Account", "type": "*constant", "value": "1001"}, // so we can match the supplier profile ], @@ -15,6 +14,7 @@ {"tag": "DispatchReply", "type": "*none", "blocker": true}, // enforces continue_on_success so we can check answer with filters ], + "continue": true, }, { "id": "NAPTRSuppliersOneSupplier", @@ -22,7 +22,6 @@ "*string:~*vars.E164Address:4986517174965", "*gte:~*cgrep.Suppliers.Count:1"], "flags": ["*none"], // do not send request to CGRateS - "continue_on_success": true, "reply_fields":[ {"tag": "NAPTROrder", "field_id": "Order", "type": "*constant", "value": "100"}, @@ -35,6 +34,7 @@ {"tag": "NAPTRRegexp", "field_id": "Regexp", "type": "*variable", "value": "~*cgrep.Suppliers.SortedSuppliers[0].SupplierParameters"}, ], + "continue": true, }, { "id": "NAPTRSuppliersTwoSuppliers", @@ -42,7 +42,6 @@ "*string:~*vars.E164Address:4986517174965", "*gte:~*cgrep.Suppliers.Count:2"], "flags": ["*none"], - "continue_on_success": true, "reply_fields":[ {"tag": "NAPTROrder", "type": "*constant", "new_branch": true, "field_id": "Order", "value": "100"}, @@ -55,6 +54,7 @@ {"tag": "NAPTRRegexp", "field_id": "Regexp", "type": "*variable", "value": "~*cgrep.Suppliers.SortedSuppliers[1].SupplierParameters"}, ], + "continue": true, }, ], }, diff --git a/data/conf/samples/radagent/cgrates.json b/data/conf/samples/radagent/cgrates.json index b37c45a5e..f3808fd29 100644 --- a/data/conf/samples/radagent/cgrates.json +++ b/data/conf/samples/radagent/cgrates.json @@ -88,7 +88,6 @@ "id": "KamailioAuth", "filters": ["*string:~*vars.*radReqType:*radAuth"], "flags": ["*auth", "*accounts"], - "continue_on_success": false, "request_fields":[ {"tag": "Category", "field_id": "Category", "type": "*constant", "value": "call"}, {"tag": "RequestType", "field_id": "RequestType", "type": "*constant", @@ -115,7 +114,6 @@ "id": "KamailioAccountingStart", "filters": ["*string:~*req.Acct-Status-Type:Start"], "flags": ["*initiate", "*attributes", "*resources", "*accounts"], - "continue_on_success": false, "request_fields":[ {"tag": "Category", "field_id": "Category", "type": "*constant", "value": "call"}, {"tag": "RequestType", "field_id": "RequestType", "type": "*constant", @@ -142,7 +140,6 @@ "id": "KamailioAccountingStop", "filters": ["*string:~*req.Acct-Status-Type:Stop"], "flags": ["*terminate", "*resources", "*accounts", "*cdrs"], - "continue_on_success": false, "request_fields":[ {"tag": "Category", "field_id": "Category", "type": "*constant", "value": "call"}, {"tag": "RequestType", "field_id": "RequestType", "type": "*constant",