client.go (738B)
1 package main 2 3 import ( 4 "bytes" 5 "fmt" 6 pb "github.com/Nordgedanken/MatrixProtoBuf/matrixProtos" 7 "github.com/golang/protobuf/proto" 8 "io/ioutil" 9 "net/http" 10 ) 11 12 func main() { 13 getVersions() 14 } 15 16 func getVersions() { 17 var versions pb.VersionsResponse 18 19 VersionRequest := pb.VersionRequest{Address: "matrix.org"} 20 21 data, err := proto.Marshal(&VersionRequest) 22 if err != nil { 23 fmt.Println(err) 24 return 25 } 26 27 resp, err := http.Post("http://localhost:3000/versions", "", bytes.NewBuffer(data)) 28 if err != nil { 29 panic(err) 30 } 31 defer resp.Body.Close() 32 body, err := ioutil.ReadAll(resp.Body) 33 34 if err := proto.Unmarshal(body, &versions); err != nil { 35 fmt.Println(err) 36 } 37 38 for _, v := range versions.Versions { 39 fmt.Println(v.Version) 40 } 41 }