diff --git a/agents/astagent.go b/agents/astagent.go
index a581c4d0c..5fe7617bc 100644
--- a/agents/astagent.go
+++ b/agents/astagent.go
@@ -147,7 +147,6 @@ func (sma *AsteriskAgent) hangupChannel(channelID, warnMsg string) {
fmt.Sprintf("<%s> failed disconnecting channel <%s>, err: %s",
utils.AsteriskAgent, channelID, err.Error()))
}
- return
}
func (sma *AsteriskAgent) handleStasisStart(ev *SMAsteriskEvent) {
diff --git a/agents/dnsagent.go b/agents/dnsagent.go
index 65f10fc0a..61717a083 100644
--- a/agents/dnsagent.go
+++ b/agents/dnsagent.go
@@ -164,7 +164,6 @@ func (da *DNSAgent) handleMessage(w dns.ResponseWriter, req *dns.Msg) {
rply.Rcode = dns.RcodeServerFailure
dnsWriteMsg(w, rply)
}
- return
}
func (da *DNSAgent) processRequest(reqProcessor *config.RequestProcessor,
diff --git a/agents/httpagent_it_test.go b/agents/httpagent_it_test.go
index 97ebd0191..3098b0a24 100644
--- a/agents/httpagent_it_test.go
+++ b/agents/httpagent_it_test.go
@@ -26,9 +26,10 @@ import (
"crypto/tls"
"crypto/x509"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"net/rpc"
+ "os"
"path"
"reflect"
"testing"
@@ -132,7 +133,7 @@ func testHAitHttp(t *testing.T) {
t.Error(err)
}
// Load CA cert
- caCert, err := ioutil.ReadFile(haCfg.TlsCfg().CaCertificate)
+ caCert, err := os.ReadFile(haCfg.TlsCfg().CaCertificate)
if err != nil {
t.Error(err)
}
@@ -209,7 +210,7 @@ func testHAitAuthDryRun(t *testing.T) {
234/Val1
1200
`)
- if body, err := ioutil.ReadAll(rply.Body); err != nil {
+ if body, err := io.ReadAll(rply.Body); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(eXml, body) {
t.Errorf("expecting: <%s>, received: <%s>", string(eXml), string(body))
@@ -258,7 +259,7 @@ func testHAitAuth1001(t *testing.T) {
1
%v
`, maxDuration))
- if body, err := ioutil.ReadAll(rply.Body); err != nil {
+ if body, err := io.ReadAll(rply.Body); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(eXml, body) {
t.Errorf("expecting: %s, received: %s", string(eXml), string(body))
@@ -285,7 +286,7 @@ func testHAitCDRmtcall(t *testing.T) {
123456
1
`)
- if body, err := ioutil.ReadAll(rply.Body); err != nil {
+ if body, err := io.ReadAll(rply.Body); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(eXml, body) {
t.Errorf("expecting: <%s>, received: <%s>", string(eXml), string(body))
@@ -365,7 +366,7 @@ ComposedVar=TestComposed
Item1.1=Val2
Item1.1=Val1
`)
- if body, err := ioutil.ReadAll(rply.Body); err != nil {
+ if body, err := io.ReadAll(rply.Body); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(len(response), len(body)) {
t.Errorf("expecting: \n<%s>\n, received: \n<%s>\n", string(response), string(body))
diff --git a/agents/libhttpagent.go b/agents/libhttpagent.go
index 6cde9ab3d..4bb70c7a2 100644
--- a/agents/libhttpagent.go
+++ b/agents/libhttpagent.go
@@ -21,7 +21,7 @@ package agents
import (
"encoding/xml"
"fmt"
- "io/ioutil"
+ "io"
"net"
"net/http"
"net/http/httputil"
@@ -100,7 +100,7 @@ func (hU *httpUrlDP) RemoteHost() net.Addr {
}
func newHTTPXmlDP(req *http.Request) (dP utils.DataProvider, err error) {
- byteData, err := ioutil.ReadAll(req.Body)
+ byteData, err := io.ReadAll(req.Body)
if err != nil {
return nil, err
}
diff --git a/apier/v1/apier.go b/apier/v1/apier.go
index 4d0df4aca..68ed313f5 100644
--- a/apier/v1/apier.go
+++ b/apier/v1/apier.go
@@ -21,7 +21,6 @@ package v1
import (
"errors"
"fmt"
- "io/ioutil"
"os"
"path"
"strconv"
@@ -1219,7 +1218,7 @@ func (apiv1 *APIerSv1) ReplayFailedPosts(args ArgsReplyFailedPosts, reply *strin
if args.FailedRequestsOutDir != nil && *args.FailedRequestsOutDir != "" {
failedReqsOutDir = *args.FailedRequestsOutDir
}
- filesInDir, _ := ioutil.ReadDir(failedReqsInDir)
+ filesInDir, _ := os.ReadDir(failedReqsInDir)
if len(filesInDir) == 0 {
return utils.ErrNotFound
}
diff --git a/apier/v1/cdre.go b/apier/v1/cdre.go
index 62ca35cc3..2fad03618 100644
--- a/apier/v1/cdre.go
+++ b/apier/v1/cdre.go
@@ -25,7 +25,6 @@ import (
"encoding/json"
"errors"
"fmt"
- "io/ioutil"
"net/url"
"os"
"path"
@@ -53,7 +52,7 @@ func (api *APIerSv1) ExportCdrsToZipString(attr utils.AttrExpFileCdrs, reply *st
// Create a new zip archive.
w := zip.NewWriter(buf)
// read generated file
- content, err := ioutil.ReadFile(efc.ExportedFilePath)
+ content, err := os.ReadFile(efc.ExportedFilePath)
if err != nil {
return err
}
@@ -69,7 +68,7 @@ func (api *APIerSv1) ExportCdrsToZipString(attr utils.AttrExpFileCdrs, reply *st
// Write metadata into a separate file with extension .cgr
medaData, err := json.MarshalIndent(efc, "", " ")
if err != nil {
- errors.New("Failed creating metadata content")
+ return errors.New("failed creating metadata content")
}
medatadaFileName := exportFileName[:len(path.Ext(exportFileName))] + ".cgr"
mf, err := w.Create(medatadaFileName)
@@ -85,7 +84,7 @@ func (api *APIerSv1) ExportCdrsToZipString(attr utils.AttrExpFileCdrs, reply *st
return err
}
if err := os.Remove(efc.ExportedFilePath); err != nil {
- fmt.Errorf("Failed removing exported file at path: %s", efc.ExportedFilePath)
+ return fmt.Errorf("failed removing exported file at path: %s", efc.ExportedFilePath)
}
*reply = base64.StdEncoding.EncodeToString(buf.Bytes())
return nil
diff --git a/apier/v1/cdre_it_test.go b/apier/v1/cdre_it_test.go
index b049c4243..cb8319c5b 100755
--- a/apier/v1/cdre_it_test.go
+++ b/apier/v1/cdre_it_test.go
@@ -22,8 +22,8 @@ along with this program. If not, see
package v1
import (
- "io/ioutil"
"net/rpc"
+ "os"
"path"
"reflect"
"testing"
@@ -340,7 +340,7 @@ Cdr2,*default,test2,OriginCDR2,cgrates.org,ATTR_CATEGORY,1001,ATTR_SUBJECT,+4986
fileContent2 := `Cdr2,*default,test2,OriginCDR2,cgrates.org,ATTR_CATEGORY,1001,ATTR_SUBJECT,+4986517174963,5s,-1.0000
Cdr3,*default,test2,OriginCDR3,cgrates.org,ATTR_CATEGORY,1001,ATTR_SUBJECT,+4986517174963,30s,-1.0000
`
- if outContent1, err := ioutil.ReadFile(rply.ExportedPath); err != nil {
+ if outContent1, err := os.ReadFile(rply.ExportedPath); err != nil {
t.Error(err)
} else if fileContent1 != string(outContent1) && fileContent2 != string(outContent1) {
t.Errorf("Expecting: \n<%q>, \nreceived: \n<%q>", fileContent1, string(outContent1))
diff --git a/apier/v1/concreqs_it_test.go b/apier/v1/concreqs_it_test.go
index eb1b6774c..1edeb3193 100644
--- a/apier/v1/concreqs_it_test.go
+++ b/apier/v1/concreqs_it_test.go
@@ -24,7 +24,7 @@ package v1
import (
"bytes"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"net/rpc"
"path"
@@ -196,7 +196,7 @@ func testConcReqsOnHTTPBusy(t *testing.T) {
t.Error(err)
return
}
- contents, err := ioutil.ReadAll(resp.Body)
+ contents, err := io.ReadAll(resp.Body)
if err != nil {
wg.Done()
t.Error(err)
diff --git a/apier/v1/tp.go b/apier/v1/tp.go
index 8ed384aed..49a4bb13f 100644
--- a/apier/v1/tp.go
+++ b/apier/v1/tp.go
@@ -22,7 +22,6 @@ package v1
import (
"encoding/base64"
- "io/ioutil"
"os"
"path/filepath"
@@ -51,13 +50,13 @@ type AttrImportTPZipFile struct {
}
func (self *APIerSv1) ImportTPZipFile(attrs AttrImportTPZipFile, reply *string) error {
- tmpDir, err := ioutil.TempDir("/tmp", "cgr_")
+ tmpDir, err := os.MkdirTemp("/tmp", "cgr_")
if err != nil {
*reply = "ERROR: creating temp directory!"
return err
}
zipFile := filepath.Join(tmpDir, "/file.zip")
- if err = ioutil.WriteFile(zipFile, attrs.File, os.ModePerm); err != nil {
+ if err = os.WriteFile(zipFile, attrs.File, os.ModePerm); err != nil {
*reply = "ERROR: writing zip file!"
return err
}
diff --git a/cmd/cgr-tester/filereader.go b/cmd/cgr-tester/filereader.go
index 1e01a9c8c..36db75718 100644
--- a/cmd/cgr-tester/filereader.go
+++ b/cmd/cgr-tester/filereader.go
@@ -22,7 +22,6 @@ import (
"bufio"
"bytes"
"io"
- "io/ioutil"
"log"
"math/rand"
"net"
@@ -63,14 +62,14 @@ func (frt *FileReaderTester) connSendReq(req []byte) (err error) {
if _, err = frt.conn.Write(req); err != nil {
return
}
- ioutil.ReadAll(frt.conn)
+ io.ReadAll(frt.conn)
return
}
// Test reads from rdr, split the content based on lineSep and sends individual lines to remote
func (frt *FileReaderTester) Test() (err error) {
var fContent []byte
- if fContent, err = ioutil.ReadAll(frt.rdr); err != nil {
+ if fContent, err = io.ReadAll(frt.rdr); err != nil {
return
}
reqs := bytes.Split(fContent, frt.reqSep)
diff --git a/cmd/cgr-tester/parallel/parallel.go b/cmd/cgr-tester/parallel/parallel.go
index e63746b61..28328b7e0 100644
--- a/cmd/cgr-tester/parallel/parallel.go
+++ b/cmd/cgr-tester/parallel/parallel.go
@@ -21,7 +21,7 @@ package main
import (
"bytes"
"fmt"
- "io/ioutil"
+ "io"
"log"
"net/http"
"sync"
@@ -39,7 +39,7 @@ func main() {
if err != nil {
log.Print("Post error: ", err)
}
- contents, err := ioutil.ReadAll(resp.Body)
+ contents, err := io.ReadAll(resp.Body)
if err != nil {
log.Print("Body error: ", err)
}
@@ -53,7 +53,7 @@ func main() {
if err != nil {
log.Print("Post error: ", err)
}
- contents, err := ioutil.ReadAll(resp.Body)
+ contents, err := io.ReadAll(resp.Body)
if err != nil {
log.Print("Body error: ", err)
}
diff --git a/config/rjreader.go b/config/rjreader.go
index 877e56a34..da9b7de50 100644
--- a/config/rjreader.go
+++ b/config/rjreader.go
@@ -23,7 +23,6 @@ import (
"encoding/json"
"fmt"
"io"
- "io/ioutil"
"os"
"strings"
@@ -35,7 +34,7 @@ import (
// creates a new rjReader from a io.Reader
func NewRjReader(rdr io.Reader) (r *rjReader, err error) {
var b []byte
- b, err = ioutil.ReadAll(rdr)
+ b, err = io.ReadAll(rdr)
if err != nil {
return
}
diff --git a/engine/cdrs.go b/engine/cdrs.go
index 583ca149d..080b90717 100644
--- a/engine/cdrs.go
+++ b/engine/cdrs.go
@@ -20,7 +20,7 @@ package engine
import (
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"reflect"
"strings"
@@ -55,7 +55,7 @@ func cgrCdrHandler(w http.ResponseWriter, r *http.Request) {
// fsCdrHandler will handle CDRs received from FreeSWITCH over HTTP-JSON
func fsCdrHandler(w http.ResponseWriter, r *http.Request) {
- body, _ := ioutil.ReadAll(r.Body)
+ body, _ := io.ReadAll(r.Body)
fsCdr, err := NewFSCdr(body, cdrServer.cgrCfg)
if err != nil {
utils.Logger.Err(fmt.Sprintf(" Could not create CDR entry: %s", err.Error()))
diff --git a/engine/datamanager.go b/engine/datamanager.go
index 7fadd537e..614f18022 100644
--- a/engine/datamanager.go
+++ b/engine/datamanager.go
@@ -2398,7 +2398,7 @@ func (dm *DataManager) GetItemLoadIDs(itemIDPrefix string, cacheWrite bool) (loa
if err != nil {
err = utils.CastRPCErr(err)
if err == utils.ErrNotFound && cacheWrite {
- for key, _ := range loadIDs {
+ for key := range loadIDs {
Cache.Set(utils.CacheLoadIDs, key, nil, nil,
cacheCommit(utils.NonTransactional), utils.NonTransactional)
}
diff --git a/engine/libcdre.go b/engine/libcdre.go
index b5baa37aa..cd7f0858e 100644
--- a/engine/libcdre.go
+++ b/engine/libcdre.go
@@ -22,7 +22,6 @@ import (
"bytes"
"encoding/gob"
"fmt"
- "io/ioutil"
"os"
"path"
"sync"
@@ -55,7 +54,6 @@ func writeFailedPosts(itmID string, value interface{}) {
utils.Logger.Warning(fmt.Sprintf("<%s> Failed to write file <%s> because <%s>",
utils.CDRs, filePath, err))
}
- return
}
func addFailedPost(expPath, format, module string, ev interface{}) {
@@ -82,7 +80,7 @@ func addFailedPost(expPath, format, module string, ev interface{}) {
func NewExportEventsFromFile(filePath string) (expEv *ExportEvents, err error) {
var fileContent []byte
_, err = guardian.Guardian.Guard(func() (interface{}, error) {
- if fileContent, err = ioutil.ReadFile(filePath); err != nil {
+ if fileContent, err = os.ReadFile(filePath); err != nil {
return 0, err
}
return 0, os.Remove(filePath)
diff --git a/engine/libstats.go b/engine/libstats.go
index 9aa20bf13..b8c8f3113 100644
--- a/engine/libstats.go
+++ b/engine/libstats.go
@@ -272,7 +272,7 @@ func (sq *StatQueue) Compress(maxQL int64) bool {
idMap[id] = struct{}{}
}
}
- for k, _ := range idMap {
+ for k := range idMap {
ttl, has := sqMap[k]
if !has { // log warning
ttl = defaultTTL
diff --git a/engine/pstr_http.go b/engine/pstr_http.go
index 5ba21485f..4b7dcca38 100644
--- a/engine/pstr_http.go
+++ b/engine/pstr_http.go
@@ -22,7 +22,7 @@ import (
"bytes"
"crypto/tls"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"net/url"
"time"
@@ -45,7 +45,7 @@ func HttpJsonPost(url string, skipTLSVerify bool, content []byte) (respBody []by
if resp, err = client.Post(url, "application/json", bytes.NewBuffer(content)); err != nil {
return
}
- respBody, err = ioutil.ReadAll(resp.Body)
+ respBody, err = io.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
return
@@ -118,7 +118,7 @@ func (pstr *HTTPPoster) GetResponse(content interface{}) (respBody []byte, err e
}
continue
}
- respBody, err = ioutil.ReadAll(resp.Body)
+ respBody, err = io.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
utils.Logger.Warning(fmt.Sprintf(" Posting to : <%s>, error: <%s>", pstr.addr, err.Error()))
diff --git a/engine/sharedgroup.go b/engine/sharedgroup.go
index a1eaaf385..9039c8bca 100644
--- a/engine/sharedgroup.go
+++ b/engine/sharedgroup.go
@@ -63,7 +63,7 @@ func (sg *SharedGroup) Clone() (sharedGroup *SharedGroup) {
if sg.MemberIds != nil {
sharedGroup.MemberIds = sg.MemberIds.Clone()
}
- for id, _ := range sg.AccountParameters {
+ for id := range sg.AccountParameters {
sharedGroup.AccountParameters[id] = sg.AccountParameters[id].Clone()
}
return
diff --git a/engine/statmetrics.go b/engine/statmetrics.go
index c8ab6f4eb..466def91b 100644
--- a/engine/statmetrics.go
+++ b/engine/statmetrics.go
@@ -196,7 +196,7 @@ func (asr *StatASR) GetFilterIDs() []string {
// Compress is part of StatMetric interface
func (asr *StatASR) Compress(queueLen int64, defaultID string) (eventIDs []string) {
if asr.Count < queueLen {
- for id, _ := range asr.Events {
+ for id := range asr.Events {
eventIDs = append(eventIDs, id)
}
return
@@ -324,7 +324,7 @@ func (acd *StatACD) GetFilterIDs() []string {
// Compress is part of StatMetric interface
func (acd *StatACD) Compress(queueLen int64, defaultID string) (eventIDs []string) {
if acd.Count < queueLen {
- for id, _ := range acd.Events {
+ for id := range acd.Events {
eventIDs = append(eventIDs, id)
}
return
@@ -452,7 +452,7 @@ func (tcd *StatTCD) GetFilterIDs() []string {
// Compress is part of StatMetric interface
func (tcd *StatTCD) Compress(queueLen int64, defaultID string) (eventIDs []string) {
if tcd.Count < queueLen {
- for id, _ := range tcd.Events {
+ for id := range tcd.Events {
eventIDs = append(eventIDs, id)
}
return
@@ -575,7 +575,7 @@ func (acc *StatACC) GetFilterIDs() []string {
// Compress is part of StatMetric interface
func (acc *StatACC) Compress(queueLen int64, defaultID string) (eventIDs []string) {
if acc.Count < queueLen {
- for id, _ := range acc.Events {
+ for id := range acc.Events {
eventIDs = append(eventIDs, id)
}
return
@@ -701,7 +701,7 @@ func (tcc *StatTCC) GetFilterIDs() []string {
// Compress is part of StatMetric interface
func (tcc *StatTCC) Compress(queueLen int64, defaultID string) (eventIDs []string) {
if tcc.Count < queueLen {
- for id, _ := range tcc.Events {
+ for id := range tcc.Events {
eventIDs = append(eventIDs, id)
}
return
@@ -829,7 +829,7 @@ func (pdd *StatPDD) GetFilterIDs() []string {
// Compress is part of StatMetric interface
func (pdd *StatPDD) Compress(queueLen int64, defaultID string) (eventIDs []string) {
if pdd.Count < queueLen {
- for id, _ := range pdd.Events {
+ for id := range pdd.Events {
eventIDs = append(eventIDs, id)
}
return
@@ -930,7 +930,7 @@ func (ddc *StatDDC) RemEvent(evID string) (err error) {
// decrement events
var fieldValue string
- for k, _ := range fieldValues {
+ for k := range fieldValues {
fieldValue = k
break
}
@@ -966,7 +966,7 @@ func (ddc *StatDDC) GetFilterIDs() []string {
}
func (ddc *StatDDC) Compress(queueLen int64, defaultID string) (eventIDs []string) {
- for id, _ := range ddc.Events {
+ for id := range ddc.Events {
eventIDs = append(eventIDs, id)
}
return
diff --git a/engine/storage_csv.go b/engine/storage_csv.go
index 815ede252..592fb39b2 100644
--- a/engine/storage_csv.go
+++ b/engine/storage_csv.go
@@ -23,7 +23,6 @@ import (
"encoding/json"
"fmt"
"io"
- "io/ioutil"
"log"
"net/http"
"os"
@@ -665,7 +664,7 @@ func saveToken(path string, token *oauth2.Token) {
}
func newSheet(configPath string) (sht *sheets.Service, err error) { //*google_api
- b, err := ioutil.ReadFile(path.Join(configPath, utils.GoogleConfigDirName, utils.GoogleCredentialsFileName))
+ b, err := os.ReadFile(path.Join(configPath, utils.GoogleConfigDirName, utils.GoogleCredentialsFileName))
if err != nil {
err = fmt.Errorf("Unable to read client secret file: %v", err)
return
diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go
index 16f079e6e..386c0f860 100644
--- a/engine/storage_mongo_datadb.go
+++ b/engine/storage_mongo_datadb.go
@@ -23,7 +23,7 @@ import (
"compress/zlib"
"context"
"fmt"
- "io/ioutil"
+ "io"
"reflect"
"strings"
"sync"
@@ -731,7 +731,7 @@ func (ms *MongoStorage) GetRatingPlanDrv(key string) (rp *RatingPlan, err error)
if err != nil {
return nil, err
}
- out, err := ioutil.ReadAll(r)
+ out, err := io.ReadAll(r)
if err != nil {
return nil, err
}
@@ -842,7 +842,7 @@ func (ms *MongoStorage) GetDestinationDrv(key string, skipCache bool,
if err != nil {
return nil, err
}
- out, err := ioutil.ReadAll(r)
+ out, err := io.ReadAll(r)
if err != nil {
return nil, err
}
@@ -1326,7 +1326,7 @@ func (ms *MongoStorage) GetActionPlanDrv(key string) (ats *ActionPlan, err error
if err != nil {
return nil, err
}
- out, err := ioutil.ReadAll(r)
+ out, err := io.ReadAll(r)
if err != nil {
return nil, err
}
diff --git a/engine/storage_mongo_stordb.go b/engine/storage_mongo_stordb.go
index 21245c8c1..7286735e7 100644
--- a/engine/storage_mongo_stordb.go
+++ b/engine/storage_mongo_stordb.go
@@ -1023,7 +1023,7 @@ func (ms *MongoStorage) GetCDRs(qryFltr *utils.CDRsFilter, remove bool) ([]*CDR,
//CostDetailsLow + "." + AccountLow: bson.M{"$in": qryFltr.RatedAccounts, "$nin": qryFltr.NotRatedAccounts},
//CostDetailsLow + "." + SubjectLow: bson.M{"$in": qryFltr.RatedSubjects, "$nin": qryFltr.NotRatedSubjects},
}
- //file, _ := ioutil.TempFile(os.TempDir(), "debug")
+ //file, _ := os.CreateTemp(os.TempDir(), "debug")
//file.WriteString(fmt.Sprintf("FILTER: %v\n", utils.ToIJSON(qryFltr)))
//file.WriteString(fmt.Sprintf("BEFORE: %v\n", utils.ToIJSON(filters)))
ms.cleanEmptyFilters(filters)
diff --git a/engine/storage_redis.go b/engine/storage_redis.go
index e577a8461..2502725af 100644
--- a/engine/storage_redis.go
+++ b/engine/storage_redis.go
@@ -23,7 +23,7 @@ import (
"compress/zlib"
"errors"
"fmt"
- "io/ioutil"
+ "io"
"strconv"
"sync"
"time"
@@ -354,7 +354,7 @@ func (rs *RedisStorage) GetRatingPlanDrv(key string) (rp *RatingPlan, err error)
if err != nil {
return nil, err
}
- out, err := ioutil.ReadAll(r)
+ out, err := io.ReadAll(r)
if err != nil {
return nil, err
}
@@ -454,7 +454,7 @@ func (rs *RedisStorage) GetDestinationDrv(key string, skipCache bool,
if err != nil {
return nil, err
}
- out, err := ioutil.ReadAll(r)
+ out, err := io.ReadAll(r)
if err != nil {
return nil, err
}
@@ -820,7 +820,7 @@ func (rs *RedisStorage) GetActionPlanDrv(key string) (ats *ActionPlan, err error
if err != nil {
return nil, err
}
- out, err := ioutil.ReadAll(r)
+ out, err := io.ReadAll(r)
if err != nil {
return nil, err
}
diff --git a/engine/storage_sql.go b/engine/storage_sql.go
index 4ec7299a6..bcbb00016 100644
--- a/engine/storage_sql.go
+++ b/engine/storage_sql.go
@@ -23,7 +23,7 @@ import (
"database/sql"
"encoding/json"
"fmt"
- "io/ioutil"
+ "os"
"path"
"strings"
"time"
@@ -80,7 +80,7 @@ func (self *SQLStorage) RebuildReverseForPrefix(prefix string) error {
}
func (self *SQLStorage) CreateTablesFromScript(scriptPath string) error {
- fileContent, err := ioutil.ReadFile(scriptPath)
+ fileContent, err := os.ReadFile(scriptPath)
if err != nil {
return err
}
diff --git a/engine/suretax.go b/engine/suretax.go
index 86668beb1..c04b4a07d 100644
--- a/engine/suretax.go
+++ b/engine/suretax.go
@@ -24,7 +24,7 @@ import (
"encoding/json"
"errors"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"strconv"
"strings"
@@ -202,7 +202,7 @@ func SureTaxProcessCdr(cdr *CDR) error {
return err
}
defer resp.Body.Close()
- respBody, err := ioutil.ReadAll(resp.Body)
+ respBody, err := io.ReadAll(resp.Body)
if err != nil {
return err
}
diff --git a/engine/tpimporter_csv.go b/engine/tpimporter_csv.go
index cb8acf184..d472a3a53 100644
--- a/engine/tpimporter_csv.go
+++ b/engine/tpimporter_csv.go
@@ -20,8 +20,8 @@ package engine
import (
"fmt"
- "io/ioutil"
"log"
+ "os"
"github.com/cgrates/cgrates/utils"
)
@@ -64,7 +64,7 @@ var fileHandlers = map[string]func(*TPCSVImporter, string) error{
func (self *TPCSVImporter) Run() error {
self.csvr = NewFileCSVStorage(self.Sep, self.DirPath, false)
- files, _ := ioutil.ReadDir(self.DirPath)
+ files, _ := os.ReadDir(self.DirPath)
var withErrors bool
for _, f := range files {
fHandler, hasName := fileHandlers[f.Name()]
diff --git a/ers/filecsv.go b/ers/filecsv.go
index 8efa82c97..1eb3462e5 100644
--- a/ers/filecsv.go
+++ b/ers/filecsv.go
@@ -23,7 +23,6 @@ import (
"encoding/csv"
"fmt"
"io"
- "io/ioutil"
"os"
"path"
"strings"
@@ -95,7 +94,7 @@ func (rdr *CSVFileER) Serve() (err error) {
return
default:
}
- filesInDir, _ := ioutil.ReadDir(rdr.rdrDir)
+ filesInDir, _ := os.ReadDir(rdr.rdrDir)
for _, file := range filesInDir {
if !strings.HasSuffix(file.Name(), utils.CSVSuffix) { // hardcoded file extension for csv event reader
continue // used in order to filter the files from directory
diff --git a/ers/filecsv_it_test.go b/ers/filecsv_it_test.go
index 77816b9b4..d67cb0d94 100644
--- a/ers/filecsv_it_test.go
+++ b/ers/filecsv_it_test.go
@@ -21,7 +21,6 @@ along with this program. If not, see
package ers
import (
- "io/ioutil"
"net/rpc"
"os"
"path"
@@ -168,7 +167,7 @@ func testCsvITLoadTPFromFolder(t *testing.T) {
func testCsvITHandleCdr1File(t *testing.T) {
fileName := "file1.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(fileContent1), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(fileContent1), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/ers/in", fileName)); err != nil {
@@ -180,7 +179,7 @@ func testCsvITHandleCdr1File(t *testing.T) {
func testCsvITHandleCdr2File(t *testing.T) {
fileName := "file2.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(fileContent2), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(fileContent2), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/ers2/in", fileName)); err != nil {
@@ -206,7 +205,7 @@ func testCsvITHandleSessionFile(t *testing.T) {
}
fileName := "file3.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(fileContent3), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(fileContent3), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/init_session/in", fileName)); err != nil {
@@ -295,7 +294,7 @@ func testCsvITAnalyseCDRs(t *testing.T) {
func testCsvITProcessFilteredCDR(t *testing.T) {
fileName := "file1.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(fileContentForFilter), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(fileContentForFilter), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/ers_with_filters/in", fileName)); err != nil {
@@ -326,22 +325,22 @@ func testCsvITAnalyzeFilteredCDR(t *testing.T) {
func testCsvITProcessedFiles(t *testing.T) {
time.Sleep(time.Duration(1 * time.Second))
- if outContent1, err := ioutil.ReadFile("/tmp/ers/out/file1.csv"); err != nil {
+ if outContent1, err := os.ReadFile("/tmp/ers/out/file1.csv"); err != nil {
t.Error(err)
} else if fileContent1 != string(outContent1) {
t.Errorf("Expecting: %q, received: %q", fileContent1, string(outContent1))
}
- if outContent2, err := ioutil.ReadFile("/tmp/ers2/out/file2.csv"); err != nil {
+ if outContent2, err := os.ReadFile("/tmp/ers2/out/file2.csv"); err != nil {
t.Error(err)
} else if fileContent2 != string(outContent2) {
t.Errorf("Expecting: %q, received: %q", fileContent2, string(outContent2))
}
- if outContent3, err := ioutil.ReadFile("/tmp/cdrs/out/file3.csv"); err != nil {
+ if outContent3, err := os.ReadFile("/tmp/cdrs/out/file3.csv"); err != nil {
t.Error(err)
} else if fileContent3 != string(outContent3) {
t.Errorf("Expecting: %q, received: %q", fileContent3, string(outContent3))
}
- if outContent4, err := ioutil.ReadFile("/tmp/ers_with_filters/out/file1.csv"); err != nil {
+ if outContent4, err := os.ReadFile("/tmp/ers_with_filters/out/file1.csv"); err != nil {
t.Error(err)
} else if fileContentForFilter != string(outContent4) {
t.Errorf("Expecting: %q, received: %q", fileContentForFilter, string(outContent4))
diff --git a/ers/filefwv.go b/ers/filefwv.go
index d5fc49b9e..8d4c5bad9 100644
--- a/ers/filefwv.go
+++ b/ers/filefwv.go
@@ -22,7 +22,6 @@ import (
"bufio"
"fmt"
"io"
- "io/ioutil"
"os"
"path"
"strings"
@@ -101,7 +100,7 @@ func (rdr *FWVFileER) Serve() (err error) {
return
default:
}
- filesInDir, _ := ioutil.ReadDir(rdr.rdrDir)
+ filesInDir, _ := os.ReadDir(rdr.rdrDir)
for _, file := range filesInDir {
if !strings.HasSuffix(file.Name(), utils.FWVSuffix) { // hardcoded file extension for xml event reader
continue // used in order to filter the files from directory
diff --git a/ers/filefwv_it_test.go b/ers/filefwv_it_test.go
index e87f13259..a9f4fe58c 100644
--- a/ers/filefwv_it_test.go
+++ b/ers/filefwv_it_test.go
@@ -22,7 +22,6 @@ along with this program. If not, see
package ers
import (
- "io/ioutil"
"net/rpc"
"os"
"path"
@@ -189,7 +188,7 @@ TRL0001DDB ABC Some Connect A.B.
func testFWVITHandleCdr1File(t *testing.T) {
fileName := "file1.fwv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(fwvContent), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(fwvContent), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/fwvErs/in", fileName)); err != nil {
diff --git a/ers/filexml.go b/ers/filexml.go
index a1443f31e..569a4e56d 100644
--- a/ers/filexml.go
+++ b/ers/filexml.go
@@ -20,7 +20,6 @@ package ers
import (
"fmt"
- "io/ioutil"
"os"
"path"
"strings"
@@ -95,7 +94,7 @@ func (rdr *XMLFileER) Serve() (err error) {
return
default:
}
- filesInDir, _ := ioutil.ReadDir(rdr.rdrDir)
+ filesInDir, _ := os.ReadDir(rdr.rdrDir)
for _, file := range filesInDir {
if !strings.HasSuffix(file.Name(), utils.XMLSuffix) { // hardcoded file extension for xml event reader
continue // used in order to filter the files from directory
diff --git a/ers/filexml_it_test.go b/ers/filexml_it_test.go
index 53f1ff7a3..0cdccf769 100644
--- a/ers/filexml_it_test.go
+++ b/ers/filexml_it_test.go
@@ -21,7 +21,6 @@ along with this program. If not, see
package ers
import (
- "io/ioutil"
"net/rpc"
"os"
"path"
@@ -275,7 +274,7 @@ var cdrXmlBroadsoft = `
func testXMLITHandleCdr1File(t *testing.T) {
fileName := "file1.xml"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(cdrXmlBroadsoft), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(cdrXmlBroadsoft), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/xmlErs/in", fileName)); err != nil {
diff --git a/ers/flatstore.go b/ers/flatstore.go
index add5b61b5..a49db1edf 100644
--- a/ers/flatstore.go
+++ b/ers/flatstore.go
@@ -24,7 +24,6 @@ import (
"errors"
"fmt"
"io"
- "io/ioutil"
"os"
"path"
"strconv"
@@ -102,7 +101,7 @@ func (rdr *FlatstoreER) Serve() (err error) {
return
default:
}
- filesInDir, _ := ioutil.ReadDir(rdr.rdrDir)
+ filesInDir, _ := os.ReadDir(rdr.rdrDir)
for _, file := range filesInDir {
if !strings.HasSuffix(file.Name(), utils.CSVSuffix) { // hardcoded file extension for csv event reader
continue // used in order to filter the files from directory
diff --git a/ers/flatstore_it_test.go b/ers/flatstore_it_test.go
index dcff13033..3682d1710 100644
--- a/ers/flatstore_it_test.go
+++ b/ers/flatstore_it_test.go
@@ -22,7 +22,6 @@ along with this program. If not, see
package ers
import (
- "io/ioutil"
"net/rpc"
"os"
"path"
@@ -168,16 +167,16 @@ func testFlatstoreITLoadTPFromFolder(t *testing.T) {
// The default scenario, out of ers defined in .cfg file
func testFlatstoreITHandleCdr1File(t *testing.T) {
- if err := ioutil.WriteFile(path.Join("/tmp", "acc_1.log"), []byte(fullSuccessfull), 0644); err != nil {
+ if err := os.WriteFile(path.Join("/tmp", "acc_1.log"), []byte(fullSuccessfull), 0644); err != nil {
t.Fatal(err.Error())
}
- if err := ioutil.WriteFile(path.Join("/tmp", "missed_calls_1.log"), []byte(fullMissed), 0644); err != nil {
+ if err := os.WriteFile(path.Join("/tmp", "missed_calls_1.log"), []byte(fullMissed), 0644); err != nil {
t.Fatal(err.Error())
}
- if err := ioutil.WriteFile(path.Join("/tmp", "acc_2.log"), []byte(part1), 0644); err != nil {
+ if err := os.WriteFile(path.Join("/tmp", "acc_2.log"), []byte(part1), 0644); err != nil {
t.Fatal(err.Error())
}
- if err := ioutil.WriteFile(path.Join("/tmp", "acc_3.log"), []byte(part2), 0644); err != nil {
+ if err := os.WriteFile(path.Join("/tmp", "acc_3.log"), []byte(part2), 0644); err != nil {
t.Fatal(err.Error())
}
//Rename(oldpath, newpath string)
@@ -188,16 +187,16 @@ func testFlatstoreITHandleCdr1File(t *testing.T) {
}
time.Sleep(3 * time.Second)
// check the files to be processed
- filesInDir, _ := ioutil.ReadDir("/tmp/flatstoreErs/in")
+ filesInDir, _ := os.ReadDir("/tmp/flatstoreErs/in")
if len(filesInDir) != 0 {
t.Errorf("Files in ersInDir: %+v", filesInDir)
}
- filesOutDir, _ := ioutil.ReadDir("/tmp/flatstoreErs/out")
+ filesOutDir, _ := os.ReadDir("/tmp/flatstoreErs/out")
if len(filesOutDir) != 6 {
t.Errorf("Unexpected number of files in output directory: %+v", len(filesOutDir))
}
ePartContent := "INVITE|2daec40c|548625ac|dd0c4c617a9919d29a6175cdff223a9p@0:0:0:0:0:0:0:0|200|OK|1436454408|*prepaid|1001|1002||3401:2069362475\n"
- if partContent, err := ioutil.ReadFile(path.Join("/tmp/flatstoreErs/out", "acc_3.log.tmp")); err != nil {
+ if partContent, err := os.ReadFile(path.Join("/tmp/flatstoreErs/out", "acc_3.log.tmp")); err != nil {
t.Error(err)
} else if (ePartContent) != (string(partContent)) {
t.Errorf("Expecting:\n%s\nReceived:\n%s", ePartContent, string(partContent))
diff --git a/ers/partial_csv.go b/ers/partial_csv.go
index afad29f25..922c49f26 100644
--- a/ers/partial_csv.go
+++ b/ers/partial_csv.go
@@ -23,7 +23,6 @@ import (
"encoding/csv"
"fmt"
"io"
- "io/ioutil"
"os"
"path"
"sort"
@@ -109,7 +108,7 @@ func (rdr *PartialCSVFileER) Serve() (err error) {
return
default:
}
- filesInDir, _ := ioutil.ReadDir(rdr.rdrDir)
+ filesInDir, _ := os.ReadDir(rdr.rdrDir)
for _, file := range filesInDir {
if !strings.HasSuffix(file.Name(), utils.CSVSuffix) { // hardcoded file extension for csv event reader
continue // used in order to filter the files from directory
diff --git a/ers/partial_csv_it_test.go b/ers/partial_csv_it_test.go
index 27d127d37..8230bcfa7 100644
--- a/ers/partial_csv_it_test.go
+++ b/ers/partial_csv_it_test.go
@@ -22,7 +22,6 @@ along with this program. If not, see
package ers
import (
- "io/ioutil"
"net/rpc"
"os"
"path"
@@ -167,7 +166,7 @@ func testPartITLoadTPFromFolder(t *testing.T) {
func testPartITHandleCdr1File(t *testing.T) {
fileName := "file1.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(partCsvFileContent1), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(partCsvFileContent1), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/partErs1/in", fileName)); err != nil {
@@ -179,7 +178,7 @@ func testPartITHandleCdr1File(t *testing.T) {
func testPartITHandleCdr2File(t *testing.T) {
fileName := "file2.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(partCsvFileContent2), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(partCsvFileContent2), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/partErs1/in", fileName)); err != nil {
@@ -191,7 +190,7 @@ func testPartITHandleCdr2File(t *testing.T) {
func testPartITHandleCdr3File(t *testing.T) {
fileName := "file3.csv"
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(partCsvFileContent3), 0644); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(partCsvFileContent3), 0644); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join("/tmp/partErs2/in", fileName)); err != nil {
@@ -201,7 +200,7 @@ func testPartITHandleCdr3File(t *testing.T) {
}
func testPartITVerifyFiles(t *testing.T) {
- filesInDir, _ := ioutil.ReadDir("/tmp/partErs1/out/")
+ filesInDir, _ := os.ReadDir("/tmp/partErs1/out/")
if len(filesInDir) == 0 {
t.Errorf("No files found in folder: <%s>", "/tmp/partErs1/out")
}
@@ -212,7 +211,7 @@ func testPartITVerifyFiles(t *testing.T) {
break
}
}
- if contentCacheDump, err := ioutil.ReadFile(path.Join("/tmp/partErs1/out", fileName)); err != nil {
+ if contentCacheDump, err := os.ReadFile(path.Join("/tmp/partErs1/out", fileName)); err != nil {
t.Error(err)
} else if len(eCacheDumpFile1) != len(string(contentCacheDump)) {
t.Errorf("Expecting: %q, \n received: %q", eCacheDumpFile1, string(contentCacheDump))
diff --git a/general_tests/cdrs_it_test.go b/general_tests/cdrs_it_test.go
index f10862c30..15392ae54 100644
--- a/general_tests/cdrs_it_test.go
+++ b/general_tests/cdrs_it_test.go
@@ -605,7 +605,7 @@ func testV2CDRsGetThreshold1(t *testing.T) {
expected := []string{"THD_ACNT_1001", "THD_PoccessCDR"}
var result []string
if err := cdrsRpc.Call(utils.APIerSv1GetThresholdProfileIDs,
- utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{"cgrates.org"}}, &result); err != nil {
+ utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &result); err != nil {
t.Error(err)
} else if len(expected) != len(result) {
t.Errorf("Expecting : %+v, received: %+v", expected, result)
diff --git a/general_tests/cdrs_onlexp_it_test.go b/general_tests/cdrs_onlexp_it_test.go
index edeb2c088..94ffde28d 100644
--- a/general_tests/cdrs_onlexp_it_test.go
+++ b/general_tests/cdrs_onlexp_it_test.go
@@ -25,7 +25,6 @@ import (
"context"
"encoding/json"
"fmt"
- "io/ioutil"
"net/url"
"os"
"os/exec"
@@ -230,7 +229,7 @@ func testCDRsOnExpDisableOnlineExport(t *testing.T) {
t.Error("Unexpected reply received: ", reply)
}
time.Sleep(time.Duration(*waitRater) * time.Millisecond)
- filesInDir, _ := ioutil.ReadDir(cdrsMasterCfg.GeneralCfg().FailedPostsDir)
+ filesInDir, _ := os.ReadDir(cdrsMasterCfg.GeneralCfg().FailedPostsDir)
if len(filesInDir) != 0 {
t.Fatalf("Should be no files in directory: %s", cdrsMasterCfg.GeneralCfg().FailedPostsDir)
}
@@ -485,7 +484,7 @@ func testCDRsOnExpFileFailover(t *testing.T) {
v1.Set("OriginID", "httpjsonrpc1")
v2.Set("OriginID", "amqpreconnect")
httpContent := []interface{}{v1, v2}
- filesInDir, _ := ioutil.ReadDir(cdrsMasterCfg.GeneralCfg().FailedPostsDir)
+ filesInDir, _ := os.ReadDir(cdrsMasterCfg.GeneralCfg().FailedPostsDir)
if len(filesInDir) == 0 {
t.Fatalf("No files in directory: %s", cdrsMasterCfg.GeneralCfg().FailedPostsDir)
}
diff --git a/general_tests/cdrs_post_failover_it_test.go b/general_tests/cdrs_post_failover_it_test.go
index 3eaedea2c..f992ce0ca 100644
--- a/general_tests/cdrs_post_failover_it_test.go
+++ b/general_tests/cdrs_post_failover_it_test.go
@@ -22,8 +22,8 @@ along with this program. If not, see
package general_tests
import (
- "io/ioutil"
"net/rpc"
+ "os"
"path"
"testing"
"time"
@@ -179,7 +179,7 @@ func testCDRsPostFailoverProcessCDR(t *testing.T) {
func testCDRsPostFailoverToFile(t *testing.T) {
time.Sleep(time.Duration(2 * time.Second))
- filesInDir, _ := ioutil.ReadDir(cdrsPostFailCfg.GeneralCfg().FailedPostsDir)
+ filesInDir, _ := os.ReadDir(cdrsPostFailCfg.GeneralCfg().FailedPostsDir)
if len(filesInDir) == 0 {
t.Fatalf("No files in directory: %s", cdrsPostFailCfg.GeneralCfg().FailedPostsDir)
}
diff --git a/general_tests/cdrs_processevent_it_test.go b/general_tests/cdrs_processevent_it_test.go
index 9cdf38adb..4de351b12 100644
--- a/general_tests/cdrs_processevent_it_test.go
+++ b/general_tests/cdrs_processevent_it_test.go
@@ -22,8 +22,8 @@ package general_tests
import (
"fmt"
- "io/ioutil"
"net/rpc"
+ "os"
"path"
"reflect"
"sort"
@@ -571,7 +571,7 @@ func testV1CDRsProcessEventExport(t *testing.T) {
}
func testV1CDRsProcessEventExportCheck(t *testing.T) {
failoverContent := []byte(fmt.Sprintf(`{"CGRID":"%s"}`, utils.Sha1("test7_processEvent", "OriginHost7")))
- filesInDir, _ := ioutil.ReadDir(pecdrsCfg.GeneralCfg().FailedPostsDir)
+ filesInDir, _ := os.ReadDir(pecdrsCfg.GeneralCfg().FailedPostsDir)
if len(filesInDir) == 0 {
t.Fatalf("No files in directory: %s", pecdrsCfg.GeneralCfg().FailedPostsDir)
}
diff --git a/general_tests/oldtutorial_it_test.go b/general_tests/oldtutorial_it_test.go
index fc66e221c..8e7535e47 100644
--- a/general_tests/oldtutorial_it_test.go
+++ b/general_tests/oldtutorial_it_test.go
@@ -22,7 +22,6 @@ along with this program. If not, see
package general_tests
// import (
-// "io/ioutil"
// "net/rpc"
// "net/rpc/jsonrpc"
// "os"
@@ -1449,7 +1448,7 @@ package general_tests
// f0a92222a7d21b4d9f72744aabe82daef52e20d8,*default,testexportcdr1,*rated,cgrates.org,call,1001,1003,2016-11-30T18:06:04+01:00,98,1.33340,RETA
// `
// expFilePath := path.Join(*exportArgs.ExportPath, *exportArgs.ExportFileName)
-// if expContent, err := ioutil.ReadFile(expFilePath); err != nil {
+// if expContent, err := os.ReadFile(expFilePath); err != nil {
// t.Error(err)
// } else if eExportContent != string(expContent) && eExportContent2 != string(expContent) { // CDRs are showing up randomly so we cannot predict order of export
// t.Errorf("Expecting: <%q> or <%q> received: <%q>", eExportContent, eExportContent2, string(expContent))
diff --git a/general_tests/poster_it_test.go b/general_tests/poster_it_test.go
index eff1ed536..cb0e5ba90 100644
--- a/general_tests/poster_it_test.go
+++ b/general_tests/poster_it_test.go
@@ -23,8 +23,8 @@ package general_tests
import (
"encoding/json"
"fmt"
- "io/ioutil"
"net/rpc"
+ "os"
"path"
"testing"
"time"
@@ -112,7 +112,7 @@ func testPosterITRpcConn(t *testing.T) {
}
}
func testPosterReadFolder(format string) (expEv *engine.ExportEvents, err error) {
- filesInDir, _ := ioutil.ReadDir(pstrCfg.GeneralCfg().FailedPostsDir)
+ filesInDir, _ := os.ReadDir(pstrCfg.GeneralCfg().FailedPostsDir)
if len(filesInDir) == 0 {
err = fmt.Errorf("No files in directory: %s", pstrCfg.GeneralCfg().FailedPostsDir)
return
diff --git a/loaders/loader.go b/loaders/loader.go
index cc8a8207a..8d80e0bf0 100644
--- a/loaders/loader.go
+++ b/loaders/loader.go
@@ -22,7 +22,6 @@ import (
"encoding/csv"
"fmt"
"io"
- "io/ioutil"
"os"
"path"
"strings"
@@ -151,7 +150,7 @@ func (ldr *Loader) unreferenceFile(loaderType, fileName string) (err error) {
}
func (ldr *Loader) moveFiles() (err error) {
- filesInDir, _ := ioutil.ReadDir(ldr.tpInDir)
+ filesInDir, _ := os.ReadDir(ldr.tpInDir)
for _, file := range filesInDir {
fName := file.Name()
if fName == ldr.lockFilename {
diff --git a/loaders/loader_it_test.go b/loaders/loader_it_test.go
index 3930d20e3..07392f911 100644
--- a/loaders/loader_it_test.go
+++ b/loaders/loader_it_test.go
@@ -21,7 +21,6 @@ along with this program. If not, see
package loaders
import (
- "io/ioutil"
"net/rpc"
"os"
"path"
@@ -128,7 +127,7 @@ func testLoaderRPCConn(t *testing.T) {
func testLoaderPopulateData(t *testing.T) {
fileName := utils.AttributesCsv
tmpFilePath := path.Join("/tmp", fileName)
- if err := ioutil.WriteFile(tmpFilePath, []byte(engine.AttributesCSVContent), 0777); err != nil {
+ if err := os.WriteFile(tmpFilePath, []byte(engine.AttributesCSVContent), 0777); err != nil {
t.Fatal(err.Error())
}
if err := os.Rename(tmpFilePath, path.Join(loaderPathIn, fileName)); err != nil {
@@ -146,7 +145,7 @@ func testLoaderLoadAttributes(t *testing.T) {
func testLoaderVerifyOutDir(t *testing.T) {
time.Sleep(100 * time.Millisecond)
- if outContent1, err := ioutil.ReadFile(path.Join(loaderPathOut, utils.AttributesCsv)); err != nil {
+ if outContent1, err := os.ReadFile(path.Join(loaderPathOut, utils.AttributesCsv)); err != nil {
t.Error(err)
} else if engine.AttributesCSVContent != string(outContent1) {
t.Errorf("Expecting: %q, received: %q", engine.AttributesCSVContent, string(outContent1))
diff --git a/loaders/loader_test.go b/loaders/loader_test.go
index a4e1bd1ed..47fc490c5 100644
--- a/loaders/loader_test.go
+++ b/loaders/loader_test.go
@@ -20,7 +20,7 @@ package loaders
import (
"encoding/csv"
- "io/ioutil"
+ "io"
"reflect"
"sort"
"strings"
@@ -90,7 +90,7 @@ func TestLoaderProcessContentSingleFile(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~10", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.AttributesCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.AttributesCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -176,10 +176,10 @@ func TestLoaderProcessContentMultiFiles(t *testing.T) {
Value: config.NewRSRParsersMustCompile("10", true, utils.INFIELD_SEP)},
},
}
- rdr1 := ioutil.NopCloser(strings.NewReader(file1CSV))
+ rdr1 := io.NopCloser(strings.NewReader(file1CSV))
csvRdr1 := csv.NewReader(rdr1)
csvRdr1.Comment = '#'
- rdr2 := ioutil.NopCloser(strings.NewReader(file2CSV))
+ rdr2 := io.NopCloser(strings.NewReader(file2CSV))
csvRdr2 := csv.NewReader(rdr2)
csvRdr2.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -274,7 +274,7 @@ func TestLoaderProcessResource(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~10", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.ResourcesCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.ResourcesCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -372,7 +372,7 @@ func TestLoaderProcessFilters(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~5", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.FiltersCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.FiltersCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -503,7 +503,7 @@ func TestLoaderProcessThresholds(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~10", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.ThresholdsCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.ThresholdsCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -610,7 +610,7 @@ func TestLoaderProcessStats(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~12", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.StatsCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.StatsCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -743,7 +743,7 @@ func TestLoaderProcessSuppliers(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~15", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.SuppliersCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.SuppliersCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -865,7 +865,7 @@ func TestLoaderProcessChargers(t *testing.T) {
Value: config.NewRSRParsersMustCompile("~6", true, utils.INFIELD_SEP)},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.ChargersCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.ChargersCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -993,7 +993,7 @@ func TestLoaderProcessDispatches(t *testing.T) {
},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.DispatcherCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.DispatcherCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -1097,7 +1097,7 @@ func TestLoaderProcessDispatcheHosts(t *testing.T) {
},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.DispatcherHostCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.DispatcherHostCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
@@ -1163,7 +1163,7 @@ func TestLoaderRemoveContentSingleFile(t *testing.T) {
Mandatory: true},
},
}
- rdr := ioutil.NopCloser(strings.NewReader(engine.AttributesCSVContent))
+ rdr := io.NopCloser(strings.NewReader(engine.AttributesCSVContent))
csvRdr := csv.NewReader(rdr)
csvRdr.Comment = '#'
ldr.rdrs = map[string]map[string]*openedCSVFile{
diff --git a/utils/apitpdata.go b/utils/apitpdata.go
index 5353b4c06..3158ad94d 100755
--- a/utils/apitpdata.go
+++ b/utils/apitpdata.go
@@ -755,9 +755,8 @@ func (fltr *CDRsFilter) Prepare() {
// sort.Strings(fltr.DestinationPrefixes)
// sort.Strings(fltr.NotDestinationPrefixes)
- sort.Sort(sort.Float64Slice(fltr.Costs))
- sort.Sort(sort.Float64Slice(fltr.NotCosts))
-
+ sort.Float64s(fltr.Costs)
+ sort.Float64s(fltr.NotCosts)
}
// RPCCDRsFilter is a filter used in Rpc calls
diff --git a/utils/basic_auth.go b/utils/basic_auth.go
index 5820a12ff..d1bb08471 100644
--- a/utils/basic_auth.go
+++ b/utils/basic_auth.go
@@ -53,28 +53,28 @@ func basicAuth(userList map[string]string) basicAuthMiddleware {
authHeader := strings.SplitN(r.Header.Get("Authorization"), " ", 2)
if len(authHeader) != 2 {
Logger.Warning(" Missing authorization header value")
- http.Error(w, "Not authorized", 401)
+ http.Error(w, "Not authorized", http.StatusUnauthorized)
return
}
authHeaderDecoded, err := base64.StdEncoding.DecodeString(authHeader[1])
if err != nil {
Logger.Warning(" Unable to decode authorization header")
- http.Error(w, err.Error(), 401)
+ http.Error(w, err.Error(), http.StatusUnauthorized)
return
}
userPass := strings.SplitN(string(authHeaderDecoded), ":", 2)
if len(userPass) != 2 {
Logger.Warning(" Unauthorized API access. Missing or extra credential components")
- http.Error(w, "Not authorized", 401)
+ http.Error(w, "Not authorized", http.StatusUnauthorized)
return
}
valid := verifyCredential(userPass[0], userPass[1], userList)
if !valid {
Logger.Warning(fmt.Sprintf(" Unauthorized API access by user '%s'", userPass[0]))
- http.Error(w, "Not authorized", 401)
+ http.Error(w, "Not authorized", http.StatusUnauthorized)
return
}
diff --git a/utils/concureqs.go b/utils/concureqs.go
index 8d41f7843..2ab59ad54 100644
--- a/utils/concureqs.go
+++ b/utils/concureqs.go
@@ -65,5 +65,4 @@ func (cR *ConcReqs) Deallocate() {
return
}
cR.aReqs <- struct{}{}
- return
}
diff --git a/utils/coreutils.go b/utils/coreutils.go
index 813b59ad0..bf3aa8b9b 100644
--- a/utils/coreutils.go
+++ b/utils/coreutils.go
@@ -564,21 +564,21 @@ func FmtFieldWidth(fieldID, source string, width int, strip, padding string, man
// Returns the string representation of iface or error if not convertible
func CastIfToString(iface interface{}) (strVal string, casts bool) {
- switch iface.(type) {
+ switch rawVal := iface.(type) {
case string:
- strVal = iface.(string)
+ strVal = rawVal
casts = true
case int:
- strVal = strconv.Itoa(iface.(int))
+ strVal = strconv.Itoa(rawVal)
casts = true
case int64:
- strVal = strconv.FormatInt(iface.(int64), 10)
+ strVal = strconv.FormatInt(rawVal, 10)
casts = true
case float64:
- strVal = strconv.FormatFloat(iface.(float64), 'f', -1, 64)
+ strVal = strconv.FormatFloat(rawVal, 'f', -1, 64)
casts = true
case bool:
- strVal = strconv.FormatBool(iface.(bool))
+ strVal = strconv.FormatBool(rawVal)
casts = true
case []uint8:
var byteVal []byte
@@ -734,7 +734,7 @@ func GetCGRVersion() (vers string, err error) {
}
func NewTenantID(tntID string) *TenantID {
- if strings.Index(tntID, CONCATENATED_KEY_SEP) == -1 { // no :, ID without Tenant
+ if !strings.Contains(tntID, CONCATENATED_KEY_SEP) { // no :, ID without Tenant
return &TenantID{ID: tntID}
}
tIDSplt := strings.Split(tntID, CONCATENATED_KEY_SEP)
diff --git a/utils/dataconverter.go b/utils/dataconverter.go
index 0b7322762..f1290b8ce 100644
--- a/utils/dataconverter.go
+++ b/utils/dataconverter.go
@@ -283,7 +283,7 @@ func (lc *PhoneNumberConverter) Convert(in interface{}) (out interface{}, err er
// HexConvertor will round floats
type IP2HexConverter struct{}
-func (_ *IP2HexConverter) Convert(in interface{}) (out interface{}, err error) {
+func (*IP2HexConverter) Convert(in interface{}) (out interface{}, err error) {
var ip net.IP
switch val := in.(type) {
case string:
diff --git a/utils/map.go b/utils/map.go
index bd5aa6216..13e21b233 100644
--- a/utils/map.go
+++ b/utils/map.go
@@ -126,9 +126,7 @@ func (sm StringMap) Slice() []string {
}
func (sm StringMap) IsEmpty() bool {
- return sm == nil ||
- len(sm) == 0 ||
- sm[ANY] == true
+ return len(sm) == 0 || sm[ANY]
}
func StringMapFromSlice(s []string) StringMap {
@@ -289,7 +287,7 @@ func (fWp FlagsWithParams) GetBool(key string) (b bool) {
if v, b = fWp[key]; !b {
return // not present means false
}
- if v == nil || len(v) == 0 {
+ if len(v) == 0 {
return true // empty slice
}
return v[0] == "true" // check only the first element
diff --git a/utils/navigablemap.go b/utils/navigablemap.go
index 064ccd69a..d51394d02 100644
--- a/utils/navigablemap.go
+++ b/utils/navigablemap.go
@@ -164,7 +164,7 @@ func (nm NavigableMap2) Type() NMType {
// Empty returns true if the NM is empty(no data)
func (nm NavigableMap2) Empty() bool {
- return nm == nil || len(nm) == 0
+ return len(nm) == 0
}
// Len returns the lenght of the map
diff --git a/utils/nmslice.go b/utils/nmslice.go
index e7f6bff6b..13c1a567e 100644
--- a/utils/nmslice.go
+++ b/utils/nmslice.go
@@ -131,7 +131,7 @@ func (nms NMSlice) Type() NMType {
// Empty returns true if the NM is empty(no data)
func (nms NMSlice) Empty() bool {
- return nms == nil || len(nms) == 0
+ return len(nms) == 0
}
// Len returns the lenght of the slice
diff --git a/utils/reflect.go b/utils/reflect.go
index 17faa57ba..1e92191ed 100644
--- a/utils/reflect.go
+++ b/utils/reflect.go
@@ -113,11 +113,11 @@ func ReflectFieldAsString(intf interface{}, fldName, extraFieldsLabel string) (s
}
func IfaceAsTime(itm interface{}, timezone string) (t time.Time, err error) {
- switch itm.(type) {
+ switch val := itm.(type) {
case time.Time:
- return itm.(time.Time), nil
+ return val, nil
case string:
- return ParseTimeDetectLayout(itm.(string), timezone)
+ return ParseTimeDetectLayout(val, timezone)
default:
err = fmt.Errorf("cannot convert field: %+v to time.Time", itm)
}
@@ -137,7 +137,7 @@ func IfaceAsDuration(itm interface{}) (d time.Duration, err error) {
case int32:
return time.Duration(int64(it)), nil
case int64:
- return time.Duration(int64(it)), nil
+ return time.Duration(it), nil
case uint:
return time.Duration(int64(it)), nil
case uint8:
@@ -220,17 +220,17 @@ func IfaceAsFloat64(itm interface{}) (f float64, err error) {
}
func IfaceAsBool(itm interface{}) (b bool, err error) {
- switch itm.(type) {
+ switch val := itm.(type) {
case bool:
- return itm.(bool), nil
+ return val, nil
case string:
- return strconv.ParseBool(itm.(string))
+ return strconv.ParseBool(val)
case int:
- return itm.(int) > 0, nil
+ return val > 0, nil
case int64:
- return itm.(int64) > 0, nil
+ return val > 0, nil
case float64:
- return itm.(float64) > 0, nil
+ return val > 0, nil
default:
err = fmt.Errorf("cannot convert field: %+v to bool", itm)
}
diff --git a/utils/rsrfield.go b/utils/rsrfield.go
index c34b815ce..639b78132 100644
--- a/utils/rsrfield.go
+++ b/utils/rsrfield.go
@@ -71,10 +71,8 @@ func NewRSRField(fldStr string) (fld *RSRField, err error) {
if strings.HasPrefix(fldStr, STATIC_VALUE_PREFIX) { // Special case when RSR is defined as static header/value
var staticHdr, staticVal string
if splt := strings.Split(fldStr, STATIC_HDRVAL_SEP); len(splt) == 2 { // Using / as separator since ':' is often use in date/time fields
- staticHdr, staticVal = splt[0][1:], splt[1] // Strip the / suffix
- if strings.HasSuffix(staticVal, "/") { // If value ends with /, strip it since it is a part of the definition syntax
- staticVal = staticVal[:len(staticVal)-1]
- }
+ staticHdr, staticVal = splt[0][1:], splt[1] // Strip the / suffix
+ staticVal = strings.TrimSuffix(staticVal, "/") // If value ends with /, strip it since it is a part of the definition syntax
} else if len(splt) > 2 {
return nil, fmt.Errorf("Invalid RSRField string: %s", fldStr)
} else {
@@ -299,7 +297,7 @@ func (rsrFltr *RSRFilter) Pass(val string) bool {
}
return gt != rsrFltr.negative
}
- return (strings.Index(val, rsrFltr.filterRule) != -1) != rsrFltr.negative // default is string index
+ return strings.Contains(val, rsrFltr.filterRule) != rsrFltr.negative // default is string index
}
func ParseRSRFilters(fldsStr, sep string) (RSRFilters, error) {
diff --git a/utils/server.go b/utils/server.go
index dab83def0..681d9a412 100644
--- a/utils/server.go
+++ b/utils/server.go
@@ -25,13 +25,13 @@ import (
"encoding/gob"
"fmt"
"io"
- "io/ioutil"
"log"
"net"
"net/http"
"net/http/pprof"
"net/rpc"
"net/url"
+ "os"
"reflect"
"strings"
"sync"
@@ -298,7 +298,7 @@ func (s *Server) ServeHTTP(addr string, jsonRPCURL string, wsRPCURL string,
}
Logger.Info(fmt.Sprintf(" start listening at <%s>", addr))
if err := http.ListenAndServe(addr, s.httpMux); err != nil {
- log.Println(fmt.Sprintf("Error: %s when listening ", err))
+ log.Printf("Error: %s when listening ", err)
}
exitChan <- true
}
@@ -397,7 +397,7 @@ func loadTLSConfig(serverCrt, serverKey, caCert string, serverPolicy int,
}
if caCert != "" {
- ca, err := ioutil.ReadFile(caCert)
+ ca, err := os.ReadFile(caCert)
if err != nil {
log.Fatalf("Error: %s when read CA", err)
return config, err
@@ -434,7 +434,7 @@ func (s *Server) ServeGOBTLS(addr, serverCrt, serverKey, caCert string,
}
listener, err := tls.Listen(TCP, addr, &config)
if err != nil {
- log.Println(fmt.Sprintf("Error: %s when listening", err))
+ log.Printf("Error: %s when listening", err)
exitChan <- true
return
}
@@ -477,7 +477,7 @@ func (s *Server) ServeJSONTLS(addr, serverCrt, serverKey, caCert string,
}
listener, err := tls.Listen(TCP, addr, &config)
if err != nil {
- log.Println(fmt.Sprintf("Error: %s when listening", err))
+ log.Printf("Error: %s when listening", err)
exitChan <- true
return
}
@@ -566,8 +566,7 @@ func (s *Server) ServeHTTPTLS(addr, serverCrt, serverKey, caCert string, serverP
}
Logger.Info(fmt.Sprintf(" start listening at <%s>", addr))
if err := httpSrv.ListenAndServeTLS(serverCrt, serverKey); err != nil {
- log.Println(fmt.Sprintf("Error: %s when listening ", err))
+ log.Printf("Error: %s when listening ", err)
}
exitChan <- true
- return
}
diff --git a/utils/struct.go b/utils/struct.go
index d5cb9d04a..94b949b63 100644
--- a/utils/struct.go
+++ b/utils/struct.go
@@ -198,7 +198,6 @@ func SetMapExtraFields(in interface{}, values map[string]string, extraFields str
}
}
}
- return
}
func FromMapStringString(m map[string]string, in interface{}) {
@@ -216,7 +215,6 @@ func FromMapStringString(m map[string]string, in interface{}) {
}
}
}
- return
}
func FromMapStringInterface(m map[string]interface{}, in interface{}) error {