Moved to google.golang.org/genproto/googleapis/api/annotations
Fixes #52
This commit is contained in:
5
vendor/github.com/go-kit/kit/endpoint/doc.go
generated
vendored
Normal file
5
vendor/github.com/go-kit/kit/endpoint/doc.go
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
// Package endpoint defines an abstraction for RPCs.
|
||||
//
|
||||
// Endpoints are a fundamental building block for many Go kit components.
|
||||
// Endpoints are implemented by servers, and called by clients.
|
||||
package endpoint
|
28
vendor/github.com/go-kit/kit/endpoint/endpoint.go
generated
vendored
Normal file
28
vendor/github.com/go-kit/kit/endpoint/endpoint.go
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
package endpoint
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
// Endpoint is the fundamental building block of servers and clients.
|
||||
// It represents a single RPC method.
|
||||
type Endpoint func(ctx context.Context, request interface{}) (response interface{}, err error)
|
||||
|
||||
// Nop is an endpoint that does nothing and returns a nil error.
|
||||
// Useful for tests.
|
||||
func Nop(context.Context, interface{}) (interface{}, error) { return struct{}{}, nil }
|
||||
|
||||
// Middleware is a chainable behavior modifier for endpoints.
|
||||
type Middleware func(Endpoint) Endpoint
|
||||
|
||||
// Chain is a helper function for composing middlewares. Requests will
|
||||
// traverse them in the order they're declared. That is, the first middleware
|
||||
// is treated as the outermost middleware.
|
||||
func Chain(outer Middleware, others ...Middleware) Middleware {
|
||||
return func(next Endpoint) Endpoint {
|
||||
for i := len(others) - 1; i >= 0; i-- { // reverse
|
||||
next = others[i](next)
|
||||
}
|
||||
return outer(next)
|
||||
}
|
||||
}
|
49
vendor/github.com/go-kit/kit/endpoint/endpoint_example_test.go
generated
vendored
Normal file
49
vendor/github.com/go-kit/kit/endpoint/endpoint_example_test.go
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
package endpoint_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/go-kit/kit/endpoint"
|
||||
)
|
||||
|
||||
func ExampleChain() {
|
||||
e := endpoint.Chain(
|
||||
annotate("first"),
|
||||
annotate("second"),
|
||||
annotate("third"),
|
||||
)(myEndpoint)
|
||||
|
||||
if _, err := e(ctx, req); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// Output:
|
||||
// first pre
|
||||
// second pre
|
||||
// third pre
|
||||
// my endpoint!
|
||||
// third post
|
||||
// second post
|
||||
// first post
|
||||
}
|
||||
|
||||
var (
|
||||
ctx = context.Background()
|
||||
req = struct{}{}
|
||||
)
|
||||
|
||||
func annotate(s string) endpoint.Middleware {
|
||||
return func(next endpoint.Endpoint) endpoint.Endpoint {
|
||||
return func(ctx context.Context, request interface{}) (interface{}, error) {
|
||||
fmt.Println(s, "pre")
|
||||
defer fmt.Println(s, "post")
|
||||
return next(ctx, request)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func myEndpoint(context.Context, interface{}) (interface{}, error) {
|
||||
fmt.Println("my endpoint!")
|
||||
return struct{}{}, nil
|
||||
}
|
Reference in New Issue
Block a user