matrixprotobuf

git clone git://archive.git.mtrnord.blog/MTRNord/matrixprotobuf.git
Log | Files | Refs | README | LICENSE

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 }