jsontest.go (888B)
1 package main 2 3 import ( 4 "bytes" 5 "encoding/json" 6 "fmt" 7 "git.luxsave.com/vetle/luxtalq/talq/model" 8 "io/ioutil" 9 "net/http" 10 ) 11 12 var client = &http.Client{} 13 14 func Post(url string, object interface{}) (*http.Response, error) { 15 data, err := json.Marshal(object) 16 if err != nil { 17 return nil, err 18 } 19 fmt.Printf("IT IS %v\n", string(data)) 20 req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(data)) 21 if err != nil { 22 return nil, err 23 } 24 req.Header.Set("talq-api-version", "2.3.0") 25 return client.Do(req) 26 } 27 28 func main() { 29 dev := []model.Device{model.Device{"uuid here", "My uNCAP", "uncap", nil}} 30 resp, err := Post("http://localhost:8080/devices", dev) 31 if err != nil { 32 fmt.Println("request failed:", err) 33 } 34 body, err := ioutil.ReadAll(resp.Body) 35 if err != nil { 36 fmt.Println("reading body failed:", err) 37 } 38 fmt.Println(string(body)) 39 fmt.Println(resp.StatusCode) 40 }