Documentation ¶
Index ¶
- func DecodeGRPCSayHelloRequest(_ context.Context, grpcReq interface{}) (interface{}, error)
- func EncodeGRPCSayHelloResponse(_ context.Context, response interface{}) (interface{}, error)
- func EncodeHTTPGenericResponse(_ context.Context, w http.ResponseWriter, response interface{}) error
- func MakeGRPCServer(endpoints Endpoints, options ...grpctransport.ServerOption) pb.UsersServer
- func MakeHTTPHandler(endpoints Endpoints, options ...httptransport.ServerOption) http.Handler
- func MakeSayHelloEndpoint(s pb.UsersServer) endpoint.Endpoint
- type Endpoints
- type LabeledMiddleware
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeGRPCSayHelloRequest ¶
DecodeGRPCSayHelloRequest is a transport/grpc.DecodeRequestFunc that converts a gRPC sayhello request to a user-domain sayhello request. Primarily useful in a server.
func EncodeGRPCSayHelloResponse ¶
EncodeGRPCSayHelloResponse is a transport/grpc.EncodeResponseFunc that converts a user-domain sayhello response to a gRPC sayhello reply. Primarily useful in a server.
func EncodeHTTPGenericResponse ¶
func EncodeHTTPGenericResponse(_ context.Context, w http.ResponseWriter, response interface{}) error
EncodeHTTPGenericResponse is a transport/http.EncodeResponseFunc that encodes the response as JSON to the response writer. Primarily useful in a server.
func MakeGRPCServer ¶
func MakeGRPCServer(endpoints Endpoints, options ...grpctransport.ServerOption) pb.UsersServer
MakeGRPCServer makes a set of endpoints available as a gRPC UsersServer.
func MakeHTTPHandler ¶
func MakeHTTPHandler(endpoints Endpoints, options ...httptransport.ServerOption) http.Handler
MakeHTTPHandler returns a handler that makes a set of endpoints available on predefined paths.
func MakeSayHelloEndpoint ¶
func MakeSayHelloEndpoint(s pb.UsersServer) endpoint.Endpoint
Types ¶
type Endpoints ¶
Endpoints collects all of the endpoints that compose an add service. It's meant to be used as a helper struct, to collect all of the endpoints into a single parameter.
In a server, it's useful for functions that need to operate on a per-endpoint basis. For example, you might pass an Endpoints to a function that produces an http.Handler, with each method (endpoint) wired up to a specific path. (It is probably a mistake in design to invoke the Service methods on the Endpoints struct in a server.)
In a client, it's useful to collect individually constructed endpoints into a single type that implements the Service interface. For example, you might construct individual endpoints using transport/http.NewClient, combine them into an Endpoints, and return it to the caller as a Service.
func (Endpoints) SayHello ¶
func (e Endpoints) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error)
func (*Endpoints) WrapAllExcept ¶
func (e *Endpoints) WrapAllExcept(middleware endpoint.Middleware, excluded ...string)
WrapAllExcept wraps each Endpoint field of struct Endpoints with a go-kit/kit/endpoint.Middleware. Use this for applying a set of middlewares to every endpoint in the service. Optionally, endpoints can be passed in by name to be excluded from being wrapped. WrapAllExcept(middleware, "Status", "Ping")
func (*Endpoints) WrapAllLabeledExcept ¶
func (e *Endpoints) WrapAllLabeledExcept(middleware func(string, endpoint.Endpoint) endpoint.Endpoint, excluded ...string)
WrapAllLabeledExcept wraps each Endpoint field of struct Endpoints with a LabeledMiddleware, which will receive the name of the endpoint. See LabeldMiddleware. See method WrapAllExept for details on excluded functionality.
type LabeledMiddleware ¶
LabeledMiddleware will get passed the endpoint name when passed to WrapAllLabeledExcept, this can be used to write a generic metrics middleware which can send the endpoint name to the metrics collector.