Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ test:
go test -race ./...

doc:
go install github.com/princjef/gomarkdoc/cmd/gomarkdoc
gomarkdoc ./...
go install github.com/princjef/gomarkdoc/cmd/gomarkdoc@latest
Comment thread
ankurs marked this conversation as resolved.
gomarkdoc --output '{{.Dir}}/README.md' ./...

lint:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
Expand Down
92 changes: 50 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
import "github.com/go-coldbrew/interceptors"
```

Package interceptors provides a common set of interceptors which are used in Coldbrew
Package interceptors provides gRPC server and client interceptors for the ColdBrew framework.

Almost all of these interceptors are reusable and can be used in any other project using grpc.
Interceptor configuration functions \(AddUnaryServerInterceptor, SetFilterFunc, etc.\) must be called during program initialization, before the gRPC server starts. They are not safe for concurrent use.

## Index

Expand Down Expand Up @@ -43,6 +43,7 @@ Almost all of these interceptors are reusable and can be used in any other proje
- [func ServerErrorInterceptor\(\) grpc.UnaryServerInterceptor](<#ServerErrorInterceptor>)
- [func ServerErrorStreamInterceptor\(\) grpc.StreamServerInterceptor](<#ServerErrorStreamInterceptor>)
- [func SetFilterFunc\(ctx context.Context, ff FilterFunc\)](<#SetFilterFunc>)
- [func SetResponseTimeLogLevel\(ctx context.Context, level loggers.Level\)](<#SetResponseTimeLogLevel>)
- [func TraceIdInterceptor\(\) grpc.UnaryServerInterceptor](<#TraceIdInterceptor>)
- [func UseColdBrewClientInterceptors\(ctx context.Context, flag bool\)](<#UseColdBrewClientInterceptors>)
- [func UseColdBrewServerInterceptors\(ctx context.Context, flag bool\)](<#UseColdBrewServerInterceptors>)
Expand All @@ -61,43 +62,43 @@ var (
```

<a name="AddStreamClientInterceptor"></a>
## func [AddStreamClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L85>)
## func [AddStreamClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L104>)

```go
func AddStreamClientInterceptor(ctx context.Context, i ...grpc.StreamClientInterceptor)
```

AddStreamClientInterceptor adds a server interceptor to default server interceptors
AddStreamClientInterceptor adds a client stream interceptor to default client stream interceptors. Must be called during initialization, before any RPCs are made. Not safe for concurrent use.

Comment thread
ankurs marked this conversation as resolved.
<a name="AddStreamServerInterceptor"></a>
## func [AddStreamServerInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L68>)
## func [AddStreamServerInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L85>)

```go
func AddStreamServerInterceptor(ctx context.Context, i ...grpc.StreamServerInterceptor)
```

AddStreamServerInterceptor adds a server interceptor to default server interceptors
AddStreamServerInterceptor adds a server interceptor to default server interceptors. Must be called during initialization, before the server starts. Not safe for concurrent use.

<a name="AddUnaryClientInterceptor"></a>
## func [AddUnaryClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L80>)
## func [AddUnaryClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L98>)

```go
func AddUnaryClientInterceptor(ctx context.Context, i ...grpc.UnaryClientInterceptor)
```

AddUnaryClientInterceptor adds a server interceptor to default server interceptors
AddUnaryClientInterceptor adds a client interceptor to default client interceptors. Must be called during initialization, before any RPCs are made. Not safe for concurrent use.

<a name="AddUnaryServerInterceptor"></a>
## func [AddUnaryServerInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L63>)
## func [AddUnaryServerInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L79>)

```go
func AddUnaryServerInterceptor(ctx context.Context, i ...grpc.UnaryServerInterceptor)
```

AddUnaryServerInterceptor adds a server interceptor to default server interceptors
AddUnaryServerInterceptor adds a server interceptor to default server interceptors. Must be called during initialization, before the server starts. Not safe for concurrent use.

<a name="DebugLoggingInterceptor"></a>
## func [DebugLoggingInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L232>)
## func [DebugLoggingInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L251>)

```go
func DebugLoggingInterceptor() grpc.UnaryServerInterceptor
Expand All @@ -106,7 +107,7 @@ func DebugLoggingInterceptor() grpc.UnaryServerInterceptor
DebugLoggingInterceptor is the interceptor that logs all request/response from a handler

<a name="DefaultClientInterceptor"></a>
## func [DefaultClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L222>)
## func [DefaultClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L241>)

```go
func DefaultClientInterceptor(defaultOpts ...interface{}) grpc.UnaryClientInterceptor
Expand All @@ -115,7 +116,7 @@ func DefaultClientInterceptor(defaultOpts ...interface{}) grpc.UnaryClientInterc
DefaultClientInterceptor are the set of default interceptors that should be applied to all client calls

<a name="DefaultClientInterceptors"></a>
## func [DefaultClientInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L148>)
## func [DefaultClientInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L167>)

```go
func DefaultClientInterceptors(defaultOpts ...interface{}) []grpc.UnaryClientInterceptor
Expand All @@ -124,7 +125,7 @@ func DefaultClientInterceptors(defaultOpts ...interface{}) []grpc.UnaryClientInt
DefaultClientInterceptors are the set of default interceptors that should be applied to all client calls

<a name="DefaultClientStreamInterceptor"></a>
## func [DefaultClientStreamInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L227>)
## func [DefaultClientStreamInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L246>)

```go
func DefaultClientStreamInterceptor(defaultOpts ...interface{}) grpc.StreamClientInterceptor
Expand All @@ -133,7 +134,7 @@ func DefaultClientStreamInterceptor(defaultOpts ...interface{}) grpc.StreamClien
DefaultClientStreamInterceptor are the set of default interceptors that should be applied to all stream client calls

<a name="DefaultClientStreamInterceptors"></a>
## func [DefaultClientStreamInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L179>)
## func [DefaultClientStreamInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L198>)

```go
func DefaultClientStreamInterceptors(defaultOpts ...interface{}) []grpc.StreamClientInterceptor
Expand All @@ -142,7 +143,7 @@ func DefaultClientStreamInterceptors(defaultOpts ...interface{}) []grpc.StreamCl
DefaultClientStreamInterceptors are the set of default interceptors that should be applied to all stream client calls

<a name="DefaultInterceptors"></a>
## func [DefaultInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L127>)
## func [DefaultInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L146>)

```go
func DefaultInterceptors() []grpc.UnaryServerInterceptor
Expand All @@ -151,7 +152,7 @@ func DefaultInterceptors() []grpc.UnaryServerInterceptor
DefaultInterceptors are the set of default interceptors that are applied to all coldbrew methods

<a name="DefaultStreamInterceptors"></a>
## func [DefaultStreamInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L204>)
## func [DefaultStreamInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L223>)

```go
func DefaultStreamInterceptors() []grpc.StreamServerInterceptor
Expand All @@ -160,7 +161,7 @@ func DefaultStreamInterceptors() []grpc.StreamServerInterceptor
DefaultStreamInterceptors are the set of default interceptors that should be applied to all coldbrew streams

<a name="DoHTTPtoGRPC"></a>
## func [DoHTTPtoGRPC](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L113>)
## func [DoHTTPtoGRPC](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L132>)

```go
func DoHTTPtoGRPC(ctx context.Context, svr interface{}, handler func(ctx context.Context, req interface{}) (interface{}, error), in interface{}) (interface{}, error)
Expand All @@ -186,7 +187,7 @@ func (s *svc) echo(ctx context.Context, req *proto.EchoRequest) (*proto.EchoResp
```

<a name="FilterMethodsFunc"></a>
## func [FilterMethodsFunc](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L46>)
## func [FilterMethodsFunc](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L59>)

```go
func FilterMethodsFunc(ctx context.Context, fullMethodName string) bool
Expand All @@ -195,7 +196,7 @@ func FilterMethodsFunc(ctx context.Context, fullMethodName string) bool
FilterMethodsFunc is the default implementation of Filter function

<a name="GRPCClientInterceptor"></a>
## func [GRPCClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L331>)
## func [GRPCClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L359>)

```go
func GRPCClientInterceptor(options ...grpc_opentracing.Option) grpc.UnaryClientInterceptor
Expand All @@ -204,18 +205,20 @@ func GRPCClientInterceptor(options ...grpc_opentracing.Option) grpc.UnaryClientI
GRPCClientInterceptor is the interceptor that intercepts all cleint requests and adds tracing info to them

<a name="HystrixClientInterceptor"></a>
## func [HystrixClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L340>)
## func [HystrixClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L371>)

```go
func HystrixClientInterceptor(defaultOpts ...grpc.CallOption) grpc.UnaryClientInterceptor
```

HystrixClientInterceptor returns a unary client interceptor that executes the RPC inside a Hystrix command.

Note: This interceptor wraps github.com/afex/hystrix\-go which has been unmaintained since 2018. Consider migrating to github.com/failsafe\-go/failsafe\-go for circuit breaker functionality.

The interceptor applies provided default and per\-call client options to configure Hystrix behavior \(for example the command name, disabled flag, excluded errors, and excluded gRPC status codes\). If Hystrix is disabled via options, the RPC is invoked directly. If the underlying RPC returns an error that matches any configured excluded error or whose gRPC status code matches any configured excluded code, Hystrix fallback is skipped and the RPC error is returned. Panics raised during the RPC invocation are captured and reported to the notifier before being converted into an error. If the RPC itself returns an error, that error is returned; otherwise any error produced by Hystrix is returned.

<a name="NRHttpTracer"></a>
## func [NRHttpTracer](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L430>)
## func [NRHttpTracer](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L469>)

```go
func NRHttpTracer(pattern string, h http.HandlerFunc) (string, http.HandlerFunc)
Expand All @@ -224,7 +227,7 @@ func NRHttpTracer(pattern string, h http.HandlerFunc) (string, http.HandlerFunc)
NRHttpTracer adds newrelic tracing to this http function

<a name="NewRelicClientInterceptor"></a>
## func [NewRelicClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L320>)
## func [NewRelicClientInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L348>)

```go
func NewRelicClientInterceptor() grpc.UnaryClientInterceptor
Expand All @@ -233,7 +236,7 @@ func NewRelicClientInterceptor() grpc.UnaryClientInterceptor
NewRelicClientInterceptor intercepts all client actions and reports them to newrelic

<a name="NewRelicInterceptor"></a>
## func [NewRelicInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L267>)
## func [NewRelicInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L290>)

```go
func NewRelicInterceptor() grpc.UnaryServerInterceptor
Expand All @@ -242,7 +245,7 @@ func NewRelicInterceptor() grpc.UnaryServerInterceptor
NewRelicInterceptor intercepts all server actions and reports them to newrelic

<a name="OptionsInterceptor"></a>
## func [OptionsInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L258>)
## func [OptionsInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L281>)

```go
func OptionsInterceptor() grpc.UnaryServerInterceptor
Expand All @@ -251,7 +254,7 @@ func OptionsInterceptor() grpc.UnaryServerInterceptor


<a name="PanicRecoveryInterceptor"></a>
## func [PanicRecoveryInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L298>)
## func [PanicRecoveryInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L325>)

```go
func PanicRecoveryInterceptor() grpc.UnaryServerInterceptor
Expand All @@ -260,7 +263,7 @@ func PanicRecoveryInterceptor() grpc.UnaryServerInterceptor


<a name="ResponseTimeLoggingInterceptor"></a>
## func [ResponseTimeLoggingInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L242>)
## func [ResponseTimeLoggingInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L261>)

```go
func ResponseTimeLoggingInterceptor(ff FilterFunc) grpc.UnaryServerInterceptor
Expand All @@ -269,7 +272,7 @@ func ResponseTimeLoggingInterceptor(ff FilterFunc) grpc.UnaryServerInterceptor
ResponseTimeLoggingInterceptor logs response time for each request on server

<a name="ResponseTimeLoggingStreamInterceptor"></a>
## func [ResponseTimeLoggingStreamInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L398>)
## func [ResponseTimeLoggingStreamInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L429>)

```go
func ResponseTimeLoggingStreamInterceptor() grpc.StreamServerInterceptor
Expand All @@ -278,7 +281,7 @@ func ResponseTimeLoggingStreamInterceptor() grpc.StreamServerInterceptor
ResponseTimeLoggingStreamInterceptor logs response time for stream RPCs.

<a name="ServerErrorInterceptor"></a>
## func [ServerErrorInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L279>)
## func [ServerErrorInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L302>)

```go
func ServerErrorInterceptor() grpc.UnaryServerInterceptor
Expand All @@ -287,7 +290,7 @@ func ServerErrorInterceptor() grpc.UnaryServerInterceptor
ServerErrorInterceptor intercepts all server actions and reports them to error notifier

<a name="ServerErrorStreamInterceptor"></a>
## func [ServerErrorStreamInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L410>)
## func [ServerErrorStreamInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L445>)

```go
func ServerErrorStreamInterceptor() grpc.StreamServerInterceptor
Expand All @@ -296,16 +299,25 @@ func ServerErrorStreamInterceptor() grpc.StreamServerInterceptor
ServerErrorStreamInterceptor intercepts server errors for stream RPCs and reports them to the error notifier.

<a name="SetFilterFunc"></a>
## func [SetFilterFunc](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L56>)
## func [SetFilterFunc](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L71>)

```go
func SetFilterFunc(ctx context.Context, ff FilterFunc)
```

SetFilterFunc sets the default filter function to be used by interceptors
SetFilterFunc sets the default filter function to be used by interceptors. Must be called during initialization, before the server starts. Not safe for concurrent use.

<a name="SetResponseTimeLogLevel"></a>
## func [SetResponseTimeLogLevel](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L51>)

```go
func SetResponseTimeLogLevel(ctx context.Context, level loggers.Level)
```

SetResponseTimeLogLevel sets the log level for response time logging. Default is InfoLevel. Must be called during initialization, before the server starts. Not safe for concurrent use.

<a name="TraceIdInterceptor"></a>
## func [TraceIdInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L452>)
## func [TraceIdInterceptor](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L491>)

```go
func TraceIdInterceptor() grpc.UnaryServerInterceptor
Expand All @@ -314,29 +326,25 @@ func TraceIdInterceptor() grpc.UnaryServerInterceptor
TraceIdInterceptor allows injecting trace id from request objects

<a name="UseColdBrewClientInterceptors"></a>
## func [UseColdBrewClientInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L92>)
## func [UseColdBrewClientInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L111>)

```go
func UseColdBrewClientInterceptors(ctx context.Context, flag bool)
```

UseColdBrewClientInterceptors allows enabling/disabling coldbrew client interceptors

when set to false, the coldbrew client interceptors will not be used
UseColdBrewClientInterceptors allows enabling/disabling coldbrew client interceptors. When set to false, the coldbrew client interceptors will not be used. Must be called during initialization, before any RPCs are made. Not safe for concurrent use.

<a name="UseColdBrewServerInterceptors"></a>
## func [UseColdBrewServerInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L75>)
## func [UseColdBrewServerInterceptors](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L92>)

```go
func UseColdBrewServerInterceptors(ctx context.Context, flag bool)
```

UseColdBrewServerInterceptors allows enabling/disabling coldbrew server interceptors

when set to false, the coldbrew server interceptors will not be used
UseColdBrewServerInterceptors allows enabling/disabling coldbrew server interceptors. When set to false, the coldbrew server interceptors will not be used. Must be called during initialization, before the server starts. Not safe for concurrent use.

<a name="FilterFunc"></a>
## type [FilterFunc](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L43>)
## type [FilterFunc](<https://github.com/go-coldbrew/interceptors/blob/main/interceptors.go#L56>)

If it returns false, the given request will not be traced.

Expand Down
4 changes: 0 additions & 4 deletions documentations.go
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
/*Package interceptors provides a common set of interceptors which are used in Coldbrew

Almost all of these interceptors are reusable and can be used in any other project using grpc.
*/
package interceptors
6 changes: 4 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ go 1.25.0

require (
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5
github.com/go-coldbrew/errors v0.2.1
github.com/go-coldbrew/log v0.2.5
github.com/go-coldbrew/errors v0.2.2
github.com/go-coldbrew/log v0.2.6
github.com/go-coldbrew/options v0.2.4
github.com/go-coldbrew/tracing v0.0.7
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
Expand All @@ -27,12 +27,14 @@ require (
github.com/google/uuid v1.6.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/newrelic/csec-go-agent v1.6.0 // indirect
github.com/nxadm/tail v1.4.11 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.23.2 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.67.5 // indirect
github.com/prometheus/procfs v0.20.1 // indirect
github.com/smartystreets/goconvey v1.8.1 // indirect
github.com/stvp/rollbar v0.5.1 // indirect
go.yaml.in/yaml/v2 v2.4.4 // indirect
golang.org/x/arch v0.25.0 // indirect
Expand Down
Loading
Loading