/
isc_client.go
32 lines (28 loc) · 958 Bytes
/
isc_client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package helpers
import (
"io/ioutil"
"os"
"path/filepath"
"github.com/labstack/gommon/log"
"github.com/savannahghi/interserviceclient"
"gopkg.in/yaml.v2"
)
// InitializeInterServiceClient initializes an external service in the correct environment given its name
func InitializeInterServiceClient(serviceName string) *interserviceclient.InterServiceClient {
//os file and parse it to go type
file, err := ioutil.ReadFile(filepath.Clean(interserviceclient.PathToDepsFile()))
if err != nil {
log.Errorf("error occurred while opening deps file %v", err)
os.Exit(1)
}
var config interserviceclient.DepsConfig
if err := yaml.Unmarshal(file, &config); err != nil {
log.Errorf("failed to unmarshal yaml config file %v", err)
os.Exit(1)
}
client, err := interserviceclient.SetupISCclient(config, serviceName)
if err != nil {
log.Panicf("unable to initialize inter service client for %v service: %s", err, serviceName)
}
return client
}