experiments

All kinds of coding experiments
Log | Files | Refs | Submodules

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 }