コード例 #1
0
ファイル: example.go プロジェクト: justintv90/go-micro
func (e *Example) Call(ctx context.Context, req *example.Request, rsp *example.Response) error {

	// Endpoint construction
	var ep endpoint.Endpoint
	ep = func() error {
		md, _ := c.GetMetadata(ctx)
		log.Infof("Received Example.Call request with metadata: %v", md)
		rsp.Msg = server.Config().Id() + ": Hello " + req.Name
		return nil
	}

	// Including middlewares
	ep = ratelimit.NewTokenBucketLimiter(testBucket)(ep)
	ep = circuitbreaker.Hystrix("test_command", ep, nil, 0, 50, 1000, 0, 0)(ep)

	// Excuting
	ep()

	return nil

}
コード例 #2
0
ファイル: example.go プロジェクト: kgrvamsi/go-micro
func (e *Example) Call(ctx context.Context, req *example.Request, rsp *example.Response) error {
	md, _ := c.GetMetadata(ctx)
	log.Infof("Received Example.Call request with metadata: %v", md)
	rsp.Msg = server.Config().Id() + ": Hello " + req.Name
	return nil
}