github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/metadata/cli/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  
     6  	hello "github.com/micro/go-micro/examples/greeter/srv/proto/hello"
     7  	"github.com/micro/go-micro/v2"
     8  	"github.com/micro/go-micro/v2/metadata"
     9  
    10  	"context"
    11  )
    12  
    13  func main() {
    14  	service := micro.NewService()
    15  	service.Init()
    16  
    17  	cl := hello.NewSayService("go.micro.srv.greeter", service.Client())
    18  
    19  	// Set arbitrary headers in context
    20  	ctx := metadata.NewContext(context.Background(), map[string]string{
    21  		"User": "john",
    22  		"ID":   "1",
    23  	})
    24  
    25  	rsp, err := cl.Hello(ctx, &hello.Request{
    26  		Name: "John",
    27  	})
    28  	if err != nil {
    29  		fmt.Println(err)
    30  		return
    31  	}
    32  
    33  	fmt.Println(rsp.Msg)
    34  }