Skip to content

Jille/rpcz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rpcz

GoDoc

This library shows recent gRPC calls on a web page including their payloads for debugging.

You need to register interceptors for every gRPC client and server that you want to debug.

// Servers
s := grpc.NewServer(grpc.ChainUnaryInterceptor(UnaryServerInterceptor), grpc.ChainStreamInterceptor(StreamServerInterceptor))

// Clients
c, err := grpc.Dial(addr, grpc.WithUnaryInterceptor(rpcz.UnaryClientInterceptor), grpc.WithStreamInterceptor(rpcz.StreamClientInterceptor))

// Expose the debugging page. Make sure to protect it appropriately, as it exposes all RPC payloads.
http.Handle("/rpcz", httpauth.SimpleBasicAuth("debugger", "hackme")(rpcz.Handler))

Allow me to reiterate: It is very important to protect the rpcz.Handler against unprivileged access if you don't want a data leak.

Screenshot

About

A library to show RPC samples for gRPC

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages