38 lines
863 B
Go
38 lines
863 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/micro/go-micro/client"
|
|
mcodec "github.com/micro/go-plugins/codec/mercury"
|
|
"github.com/micro/go-plugins/selector/mercury"
|
|
"github.com/micro/go-plugins/transport/rabbitmq"
|
|
hello "github.com/micro/micro/examples/greeter/server/proto/hello"
|
|
|
|
"golang.org/x/net/context"
|
|
)
|
|
|
|
func main() {
|
|
rabbitmq.DefaultExchange = "b2a"
|
|
rabbitmq.DefaultRabbitURL = "amqp://localhost:5672"
|
|
|
|
c := client.NewClient(
|
|
client.Selector(mercury.NewSelector()),
|
|
client.Transport(rabbitmq.NewTransport([]string{})),
|
|
client.Codec("application/x-protobuf", mcodec.NewCodec),
|
|
client.ContentType("application/x-protobuf"),
|
|
)
|
|
|
|
req := c.NewRequest("foo", "Say.Hello", &hello.Request{
|
|
Name: "John",
|
|
})
|
|
|
|
rsp := &hello.Response{}
|
|
|
|
if err := c.Call(context.Background(), req, rsp); err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
|
|
fmt.Println(rsp)
|
|
}
|