From 22c6b761049212282c5841304644a99facd1f63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D1=82=D0=B0=D0=BB=D0=B8=D0=B9=20=D0=90=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=85=D0=BE=D0=B2?= Date: Sat, 1 Aug 2020 14:39:30 +0300 Subject: [PATCH] update --- go.mod | 2 ++ go.sum | 2 ++ main.go | 38 ++++++++++++++++++++++---------------- models.go | 3 ++- settings.go | 7 +++++++ settings/settings.toml | 2 ++ 6 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 go.sum create mode 100644 settings.go create mode 100644 settings/settings.toml diff --git a/go.mod b/go.mod index 4b527fc..5a00632 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ module git.macaw.me/inhosin/vvod go 1.14 + +require github.com/BurntSushi/toml v0.3.1 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..9cb2df8 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= diff --git a/main.go b/main.go index e4d0b41..1c5acb9 100644 --- a/main.go +++ b/main.go @@ -5,25 +5,25 @@ import ( "bytes" "encoding/json" "errors" + "flag" "fmt" "io/ioutil" + "log" "net/http" "os" + + "github.com/BurntSushi/toml" ) var ( - // TOKEN token - TOKEN = "08bb51ff-1eb6-4167-8ed2-eb19fc343703" - // MICROSERVICEURL url to microservie - MICROSERVICEURL = "http://microservice01:8081/api/v1/documents/create?crptDocType=LP_INTRODUCE_OST" + config Setting + configPath string + filePath string ) -// Hello ... -func Hello(name string) string { - if name == "" { - name = "World" - } - return fmt.Sprintf("Hello, %s", name) +func init() { + flag.StringVar(&configPath, "config-path", "./settings/settings.toml", "Path to config file") + flag.StringVar(&filePath, "file", "test.csv", "Path to file with some cis") } // ParseFile ... @@ -94,22 +94,23 @@ func SendToMicroservice(fileName string) error { products = append(products, cis) } } - document := NewDocument("122323", products) + document := NewDocument(fileName, products) data, err := json.Marshal(document) if err != nil { return err } - req, err := http.NewRequest("POST", MICROSERVICEURL, bytes.NewBuffer(data)) + req, err := http.NewRequest("POST", config.MicroServiceURL, bytes.NewBuffer(data)) if err != nil { return err } req.Header.Set("Content-Type", "application/json") - req.Header.Set("token", TOKEN) + req.Header.Set("token", config.Token) client := http.Client{} resp, err := client.Do(req) + fmt.Printf("Make request to %s\n with data %s\n", config.MicroServiceURL, string(data)) if err != nil { return err } @@ -130,7 +131,7 @@ func MakePartFile(lines []string, fName string) error { defer file.Close() for _, line := range lines { - if _, err := file.WriteString(fmt.Sprintln(line)); err != nil { + if _, err := file.WriteString(fmt.Sprintln(line[0:31])); err != nil { return err } } @@ -139,9 +140,14 @@ func MakePartFile(lines []string, fName string) error { } func main() { - Hello("") + flag.Parse() - lines, err := ParseFile("codes.csv") + _, err := toml.DecodeFile(configPath, &config) + if err != nil { + log.Fatal(err) + } + + lines, err := ParseFile(filePath) if err != nil { fmt.Println(err.Error()) } diff --git a/models.go b/models.go index 33d6bee..b36cffe 100644 --- a/models.go +++ b/models.go @@ -23,5 +23,6 @@ func NewDocument(docNum string, products []Cis) *Document { // NewCis ... func NewCis(cis string) Cis { - return Cis{Ki: cis} + shortCIS := cis[0:31] + return Cis{Ki: shortCIS} } diff --git a/settings.go b/settings.go new file mode 100644 index 0000000..7e56d2d --- /dev/null +++ b/settings.go @@ -0,0 +1,7 @@ +package main + +// Setting struct for config +type Setting struct { + Token string `toml:"TOKEN"` + MicroServiceURL string `toml:"MICROSERVICEURL"` +} diff --git a/settings/settings.toml b/settings/settings.toml new file mode 100644 index 0000000..f00a40b --- /dev/null +++ b/settings/settings.toml @@ -0,0 +1,2 @@ +TOKEN = "08bb51ff-1eb6-4167-8ed2-eb19fc343703" +MICROSERVICEURL = "http://microservice01:8081/api/v1/documents/create?crptDocType=LP_INTRODUCE_OST" \ No newline at end of file