Documentation ¶
Index ¶
- func BuildParamMap(urlTmpl string) map[string]int
- func DecodeGRPCCheckListWebhookRequest(_ context.Context, grpcReq interface{}) (interface{}, error)
- func DecodeHTTPCheckListWebhookZeroRequest(_ context.Context, r *http.Request) (interface{}, error)
- func EncodeGRPCCheckListWebhookResponse(_ context.Context, response interface{}) (interface{}, error)
- func EncodeHTTPGenericResponse(_ context.Context, w http.ResponseWriter, response interface{}) error
- func HTTPDecodeLogger(next httptransport.DecodeRequestFunc, logger log.Logger) httptransport.DecodeRequestFunc
- func MakeCheckListWebhookEndpoint(s pb.RelloServer) endpoint.Endpoint
- func MakeGRPCServer(ctx context.Context, endpoints Endpoints) pb.RelloServer
- func MakeHTTPHandler(ctx context.Context, endpoints Endpoints, logger log.Logger) http.Handler
- func PathParams(url string, urlTmpl string) (map[string]string, error)
- func RemoveBraces(val string) string
- type Endpoints
- type HTTPBody
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildParamMap ¶
BuildParamMap takes a string representing a url template and returns a map indicating the location of each parameter within that url, where the location is the index as if in a slash-separated sequence of path components. For example, given the url template:
"/v1/{a}/{b}"
The returned param map would look like:
map[string]int { "a": 2, "b": 3, }
func DecodeGRPCCheckListWebhookRequest ¶
DecodeGRPCCheckListWebhookRequest is a transport/grpc.DecodeRequestFunc that converts a gRPC checklistwebhook request to a user-domain checklistwebhook request. Primarily useful in a server.
func DecodeHTTPCheckListWebhookZeroRequest ¶
DecodeHTTPCheckListWebhookZeroRequest is a transport/http.DecodeRequestFunc that decodes a JSON-encoded checklistwebhook request from the HTTP request body. Primarily useful in a server.
func EncodeGRPCCheckListWebhookResponse ¶
func EncodeGRPCCheckListWebhookResponse(_ context.Context, response interface{}) (interface{}, error)
EncodeGRPCCheckListWebhookResponse is a transport/grpc.EncodeResponseFunc that converts a user-domain checklistwebhook response to a gRPC checklistwebhook 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 HTTPDecodeLogger ¶
func HTTPDecodeLogger(next httptransport.DecodeRequestFunc, logger log.Logger) httptransport.DecodeRequestFunc
func MakeCheckListWebhookEndpoint ¶
func MakeCheckListWebhookEndpoint(s pb.RelloServer) endpoint.Endpoint
func MakeGRPCServer ¶
func MakeGRPCServer(ctx context.Context, endpoints Endpoints) pb.RelloServer
MakeGRPCServer makes a set of endpoints available as a gRPC RelloServer.
func MakeHTTPHandler ¶
MakeHTTPHandler returns a handler that makes a set of endpoints available on predefined paths.
func PathParams ¶
PathParams takes a url and a gRPC-annotation style url template, and returns a map of the named parameters in the template and their values in the given url.
PathParams does not support the entirety of the URL template syntax defined in third_party/googleapis/google/api/httprule.proto. Only a small subset of the functionality defined there is implemented here.
func RemoveBraces ¶
RemoveBraces replace all curly braces in the provided string, opening and closing, with empty strings.
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) CheckListWebhook ¶
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")