Fixup balance_debit command, cdrexporter supporting http_post field values

This commit is contained in:
DanB
2014-06-04 13:46:53 +02:00
parent 8e7eb8233f
commit 7bd66530fe
3 changed files with 16 additions and 2 deletions

View File

@@ -37,6 +37,7 @@ const (
CONSTANT = "constant"
METATAG = "metatag"
CONCATENATED_CDRFIELD = "concatenated_cdrfield"
HTTP_POST = "http_post"
META_EXPORTID = "export_id"
META_TIMENOW = "time_now"
META_FIRSTCDRATIME = "first_cdr_atime"
@@ -259,6 +260,10 @@ func (cdre *CdrExporter) processCdr(cdr *utils.StoredCdr) error {
outVal = cfgFld.Value
case utils.CDRFIELD:
outVal, err = cdre.cdrFieldValue(cdr, cfgFld.ValueAsRSRField(), cfgFld.Layout)
case HTTP_POST:
if outValByte, err := utils.HttpJsonPost(cfgFld.Value, cdr); err == nil {
outVal = string(outValByte)
}
case CONCATENATED_CDRFIELD:
for _, fld := range strings.Split(cfgFld.Value, ",") {
if fldOut, err := cdre.cdrFieldValue(cdr, &utils.RSRField{Id: fld}, cfgFld.Layout); err != nil {

View File

@@ -163,6 +163,7 @@ func TestXmlCdreCfgAsCdreConfig(t *testing.T) {
<field name="OperatorCode" type="cdrfield" value="operator" width="2" />
<field name="ProductId" type="cdrfield" value="productid" width="5" />
<field name="NetworkId" type="constant" value="3" width="1" />
<field name="FromHttpPost1" type="http_post" value="https://localhost:8000" width="10" strip="xright" padding="left" />
</fields>
</content>
<trailer>
@@ -229,6 +230,14 @@ func TestXmlCdreCfgAsCdreConfig(t *testing.T) {
Value: "3",
Width: 1,
},
&CdreCdrField{
Name: "FromHttpPost1",
Type: "http_post",
Value: "https://localhost:8000",
Width: 10,
Strip: "xright",
Padding: "left",
},
}
eCdreCfg.TrailerFields = []*CdreCdrField{
&CdreCdrField{

View File

@@ -56,8 +56,8 @@ func (self *CmdDebitBalance) RpcParams() interface{} {
}
func (self *CmdDebitBalance) RpcResult() interface{} {
var s string
return &s
var cc engine.CallDescriptor
return &cc
}
func (self *CmdDebitBalance) ClientArgs() []string {