On branch golang-master

Changes to be committed:
	modified:   main.go
		Adding nice comments
golang-http-package
Mike Holloway 4 years ago
parent 202814d46c
commit e91a444354
  1. 17
      main.go

@ -12,28 +12,39 @@ import (
*/ */
) )
/*droplet_api := io.Post("")
*/
func main() { func main() {
// Create a slice to insert the ID of the current droplet
url_slice := []string{"https://api.digitalocean.com/v2/droplets/", get_droplet_id("foo"), "/actions"} url_slice := []string{"https://api.digitalocean.com/v2/droplets/", get_droplet_id("foo"), "/actions"}
// Construct the string from the slice
droplet_actions_url := strings.Join(url_slice, "") droplet_actions_url := strings.Join(url_slice, "")
// Create the json object to be posted
post_body, _ := json.Marshal(map[string]string{"type": "power_off"}) post_body, _ := json.Marshal(map[string]string{"type": "power_off"})
// Open a buffer for the post response body
response_body := bytes.NewBuffer(post_body) response_body := bytes.NewBuffer(post_body)
// instantiate the POST object
http_response, err := http.Post(droplet_actions_url, "application/json", response_body) http_response, err := http.Post(droplet_actions_url, "application/json", response_body)
if err != nil { if err != nil {
log.Fatalf("Respones Error: %v", err) log.Fatalf("Respones Error: %v", err)
} }
// Pause thread until response is read and http connection closes (I think?)
defer http_response.Body.Close() defer http_response.Body.Close()
body, err := ioutil.ReadAll(response_body) body, err := ioutil.ReadAll(response_body)
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
// Turn the http response object into a string
response_body_string := string(body) response_body_string := string(body)
log.Printf(response_body_string) log.Printf(response_body_string)
} }
func get_droplet_id(hostname string) string { func get_droplet_id(hostname string) string {
/*
Eventually, the goal is to use droplet tags to group the cluster,
use the droplet tags api to list all droplets, differentially
identify 'other' nodes with knowledge of our current droplet properties,
and finally return the droplet_id that corresponds to the supplied hostname
*/
// var droplet_id string = "253365345" // var droplet_id string = "253365345"
var droplet_id string = "253365347" var droplet_id string = "253365347"
return droplet_id return droplet_id

Loading…
Cancel
Save