...

Source file src/github.com/go-kit/kit/transport/grpc/_grpc_test/client.go

Documentation: github.com/go-kit/kit/transport/grpc/_grpc_test

     1  package test
     2  
     3  import (
     4  	"context"
     5  
     6  	"google.golang.org/grpc"
     7  
     8  	"github.com/go-kit/kit/endpoint"
     9  	grpctransport "github.com/go-kit/kit/transport/grpc"
    10  	"github.com/go-kit/kit/transport/grpc/_grpc_test/pb"
    11  )
    12  
    13  type clientBinding struct {
    14  	test endpoint.Endpoint
    15  }
    16  
    17  func (c *clientBinding) Test(ctx context.Context, a string, b int64) (context.Context, string, error) {
    18  	response, err := c.test(ctx, TestRequest{A: a, B: b})
    19  	if err != nil {
    20  		return nil, "", err
    21  	}
    22  	r := response.(*TestResponse)
    23  	return r.Ctx, r.V, nil
    24  }
    25  
    26  func NewClient(cc *grpc.ClientConn) Service {
    27  	return &clientBinding{
    28  		test: grpctransport.NewClient(
    29  			cc,
    30  			"pb.Test",
    31  			"Test",
    32  			encodeRequest,
    33  			decodeResponse,
    34  			&pb.TestResponse{},
    35  			grpctransport.ClientBefore(
    36  				injectCorrelationID,
    37  			),
    38  			grpctransport.ClientBefore(
    39  				displayClientRequestHeaders,
    40  			),
    41  			grpctransport.ClientAfter(
    42  				displayClientResponseHeaders,
    43  				displayClientResponseTrailers,
    44  			),
    45  			grpctransport.ClientAfter(
    46  				extractConsumedCorrelationID,
    47  			),
    48  		).Endpoint(),
    49  	}
    50  }
    51  

View as plain text