diff --git a/gorilla-server/apiJSON.go b/gorilla-server/apiJSON.go index 35148b2..47e3bab 100644 --- a/gorilla-server/apiJSON.go +++ b/gorilla-server/apiJSON.go @@ -55,7 +55,7 @@ func updateToken(ge *pb.Event) bool { } url := ge.Account.URL + "/auth/login" + "?email=" + ge.Account.Email + "&password=" + ge.Account.Password - json := newFetchPOSTbody(ge, url) + json := newFetchBody(ge, "POST", url) jwt := gjson.Get(json, "jwt") if (jwt.String() == "") { @@ -73,22 +73,22 @@ func updateToken(ge *pb.Event) bool { // url := ge.Account.URL + "/auth/login" + "?email=" + ge.Account.Email + "&password=" + ge.Account.Password -func newFetchPOSTbody(ge *pb.Event, url string) string { +func newFetchBody(ge *pb.Event, POSTorGET string, url string) string { if ge == nil { - log.Println("newFetchPOSTbody() has ge = nil") - ge.Comment = "newFetchPOSTbody() has ge = nil" + log.Println("newFetchBody() has ge = nil") + ge.Comment = "newFetchBody() has ge = nil" return "" } if ge.Account == nil { - log.Println("newFetchPOSTbody() has ge.Account = nil") - ge.Comment = "newFetchPOSTbody() has ge.Account = nil" + log.Println("newFetchBody() has ge.Account = nil") + ge.Comment = "newFetchBody() has ge.Account = nil" return "" } - log.Println("newFetchPOSTbody() URL =", url) + log.Println("newFetchBody() URL =", url) var jsonStr = []byte(`{}`) - req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) + req, err := http.NewRequest(POSTorGET, url, bytes.NewBuffer(jsonStr)) req.Header.Set("Content-Type", "application/json") req.Header.Set("X-Wit-Auth", "tokenrequest") @@ -102,9 +102,46 @@ func newFetchPOSTbody(ge *pb.Event, url string) string { defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) - log.Println("newFetchPOSTbody() response Body:", string(body)) - log.Println("newFetchPOSTbody() response Status:", resp.Status) - log.Println("newFetchPOSTbody() response Headers:", resp.Header) + log.Println("newFetchBody() response Body:", string(body)) + log.Println("newFetchBody() response Status:", resp.Status) + log.Println("newFetchBody() response Headers:", resp.Header) return string(body) } + +func GETbody(ge *pb.Event, URL string) string { + // req, err := http.NewRequest("GET", ge.Account.URL + "clusters", nil) + req, err := http.NewRequest("GET", URL, nil) + if err != nil { + log.Println("GETbody() can't make new req") + return "" + } + req.Header.Set("X-Wit-Auth", ge.Account.Token) + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + log.Printf("Can't exec the req to list networks: %s", err) + return "" + } + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + log.Println("can't read resp") + return "" + } + // log.Printf("GETbody() body =", string(body)) + if body == nil { + log.Println("networks is nil") + return "" + } + /* + len := len(body) + err = json.Unmarshal(body, &networks) + if err != nil { + log.Println("body = ", body) + log.Println("body len = ", len) + log.Println("can't unmarshal resp for list networks: %s", err) + } + */ + // spew.Dump(networks) + return string(body) +} diff --git a/gorilla-server/main.go b/gorilla-server/main.go index 2aeb594..db46b6f 100644 --- a/gorilla-server/main.go +++ b/gorilla-server/main.go @@ -272,6 +272,20 @@ func processLoginEvent(ge *pb.Event) *pb.Event { return e } +func JSONtoVM(ge *pb.Event, json string) { + tmp := "network_addr" + value := gjson.Get(json, tmp) + println(tmp, "=", value.String()) + + tmp = "public_mac" + value = gjson.Get(json, tmp) + println(tmp, "=", value.String()) + + tmp = "public_addr" + value = gjson.Get(json, tmp) + println(tmp, "=", value.String()) +} + func processAddEvent(ge *pb.Event) *pb.Event { log.Println("processAddEvent() START ge.Account =", ge.Account) if (checkLogin(ge) == false) { @@ -281,14 +295,45 @@ func processAddEvent(ge *pb.Event) *pb.Event { return e } - url := ge.Account.URL + "/vms/testing.com?count=1&cpu=2&ram=512&disk=25" - json := newFetchPOSTbody(ge, url) + tmp := string(GETbody(ge, "http://stackapi:4000/me")) + log.Println("processAddEvent() recieved json=", tmp) + + tmp = string(GETbody(ge, "http://stackapi:4000/clusters")) + log.Println("processAddEvent() recieved json=", tmp) + + /* + m, ok := gjson.Parse(tmp).Value().(map[string]interface{}) + if !ok { + // not a map + log.Println("processAddEvent() not a map m=", m) + } + log.Println("processAddEvent() m=", m) + */ + + tmp = string(GETbody(ge, "http://stackapi:4000/vms/jcarr.com")) + log.Println("processAddEvent() recieved json=", tmp) + + tmp = string(GETbody(ge, "http://stackapi:4000/vm/v000196")) + log.Println("processAddEvent() recieved json=", tmp) + JSONtoVM(ge, tmp) + + /* + url := ge.Account.URL + "me" + json := newFetchBody(ge, "GET", url) log.Println("processAddEvent() recieved json=", json) - url = ge.Account.URL + "/vms/jcarr.com?count=1&cpu=2&ram=512&disk=25" - json = newFetchPOSTbody(ge, url) + json = string(fetchGET(ge.Account.Token, "http://stackapi:4000/clusters")) log.Println("processAddEvent() recieved json=", json) + url = ge.Account.URL + "vms/testing.com?count=1&cpu=2&ram=512&disk=25" + json = newFetchBody(ge, "POST", url) + log.Println("processAddEvent() recieved json=", json) + + url = ge.Account.URL + "vms/jcarr.com?count=1&cpu=2&ram=512&disk=25" + json = newFetchBody(ge, "POST", url) + log.Println("processAddEvent() recieved json=", json) + */ + e := pb.MakeOkResponse() e.Account = ge.Account e.Comment = "processAddEvent() LOGIN WORKED"