Revert the NewDefaultEventHandler and add deprecation note
This commit is contained in:
parent
3a2ce54ef4
commit
b5b9230450
|
|
@ -671,7 +671,12 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fail(err, "Failed to construct request parser and formatter for %q", *format)
|
fail(err, "Failed to construct request parser and formatter for %q", *format)
|
||||||
}
|
}
|
||||||
h := grpcurl.NewDefaultEventHandler(os.Stdout, descSource, formatter, verbosityLevel)
|
h := &grpcurl.DefaultEventHandler{
|
||||||
|
Out: os.Stdout,
|
||||||
|
DescSource: descSource,
|
||||||
|
Formatter: formatter,
|
||||||
|
VerbosityLevel: verbosityLevel,
|
||||||
|
}
|
||||||
|
|
||||||
err = grpcurl.InvokeRPC(ctx, descSource, cc, symbol, append(addlHeaders, rpcHeaders...), h, rf.Next)
|
err = grpcurl.InvokeRPC(ctx, descSource, cc, symbol, append(addlHeaders, rpcHeaders...), h, rf.Next)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
59
format.go
59
format.go
|
|
@ -409,13 +409,13 @@ func RequestParserAndFormatterFor(format Format, descSource DescriptorSource, em
|
||||||
// safe for use with InvokeRPC as long as NumResponses and Status are not read
|
// safe for use with InvokeRPC as long as NumResponses and Status are not read
|
||||||
// until the call to InvokeRPC completes.
|
// until the call to InvokeRPC completes.
|
||||||
type DefaultEventHandler struct {
|
type DefaultEventHandler struct {
|
||||||
out io.Writer
|
Out io.Writer
|
||||||
descSource DescriptorSource
|
DescSource DescriptorSource
|
||||||
formatter func(proto.Message) (string, error)
|
Formatter func(proto.Message) (string, error)
|
||||||
// 0 = default
|
// 0 = default
|
||||||
// 1 = verbose
|
// 1 = verbose
|
||||||
// 2 = very verbose
|
// 2 = very verbose
|
||||||
verbosityLevel int
|
VerbosityLevel int
|
||||||
|
|
||||||
// NumResponses is the number of responses that have been received.
|
// NumResponses is the number of responses that have been received.
|
||||||
NumResponses int
|
NumResponses int
|
||||||
|
|
@ -427,57 +427,66 @@ type DefaultEventHandler struct {
|
||||||
// NewDefaultEventHandler returns an InvocationEventHandler that logs events to
|
// NewDefaultEventHandler returns an InvocationEventHandler that logs events to
|
||||||
// the given output. If verbose is true, all events are logged. Otherwise, only
|
// the given output. If verbose is true, all events are logged. Otherwise, only
|
||||||
// response messages are logged.
|
// response messages are logged.
|
||||||
func NewDefaultEventHandler(out io.Writer, descSource DescriptorSource, formatter Formatter, verbosityLevel int) *DefaultEventHandler {
|
//
|
||||||
|
// Deprecated: NewDefaultEventHandler exists for compatability.
|
||||||
|
// It doesn't allow fine control over the `VerbosityLevel`
|
||||||
|
// and provides only 0 and 1 options (which corresponds to the `verbose` argument).
|
||||||
|
// Use DefaultEventHandler{} initializer directly.
|
||||||
|
func NewDefaultEventHandler(out io.Writer, descSource DescriptorSource, formatter Formatter, verbose bool) *DefaultEventHandler {
|
||||||
|
verbosityLevel := 0
|
||||||
|
if verbose {
|
||||||
|
verbosityLevel = 1
|
||||||
|
}
|
||||||
return &DefaultEventHandler{
|
return &DefaultEventHandler{
|
||||||
out: out,
|
Out: out,
|
||||||
descSource: descSource,
|
DescSource: descSource,
|
||||||
formatter: formatter,
|
Formatter: formatter,
|
||||||
verbosityLevel: verbosityLevel,
|
VerbosityLevel: verbosityLevel,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ InvocationEventHandler = (*DefaultEventHandler)(nil)
|
var _ InvocationEventHandler = (*DefaultEventHandler)(nil)
|
||||||
|
|
||||||
func (h *DefaultEventHandler) OnResolveMethod(md *desc.MethodDescriptor) {
|
func (h *DefaultEventHandler) OnResolveMethod(md *desc.MethodDescriptor) {
|
||||||
if h.verbosityLevel > 0 {
|
if h.VerbosityLevel > 0 {
|
||||||
txt, err := GetDescriptorText(md, h.descSource)
|
txt, err := GetDescriptorText(md, h.DescSource)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
fmt.Fprintf(h.out, "\nResolved method descriptor:\n%s\n", txt)
|
fmt.Fprintf(h.Out, "\nResolved method descriptor:\n%s\n", txt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *DefaultEventHandler) OnSendHeaders(md metadata.MD) {
|
func (h *DefaultEventHandler) OnSendHeaders(md metadata.MD) {
|
||||||
if h.verbosityLevel > 0 {
|
if h.VerbosityLevel > 0 {
|
||||||
fmt.Fprintf(h.out, "\nRequest metadata to send:\n%s\n", MetadataToString(md))
|
fmt.Fprintf(h.Out, "\nRequest metadata to send:\n%s\n", MetadataToString(md))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *DefaultEventHandler) OnReceiveHeaders(md metadata.MD) {
|
func (h *DefaultEventHandler) OnReceiveHeaders(md metadata.MD) {
|
||||||
if h.verbosityLevel > 0 {
|
if h.VerbosityLevel > 0 {
|
||||||
fmt.Fprintf(h.out, "\nResponse headers received:\n%s\n", MetadataToString(md))
|
fmt.Fprintf(h.Out, "\nResponse headers received:\n%s\n", MetadataToString(md))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *DefaultEventHandler) OnReceiveResponse(resp proto.Message) {
|
func (h *DefaultEventHandler) OnReceiveResponse(resp proto.Message) {
|
||||||
h.NumResponses++
|
h.NumResponses++
|
||||||
if h.verbosityLevel > 1 {
|
if h.VerbosityLevel > 1 {
|
||||||
fmt.Fprintf(h.out, "\nEstimated response size: %d bytes\n", proto.Size(resp))
|
fmt.Fprintf(h.Out, "\nEstimated response size: %d bytes\n", proto.Size(resp))
|
||||||
}
|
}
|
||||||
if h.verbosityLevel > 0 {
|
if h.VerbosityLevel > 0 {
|
||||||
fmt.Fprint(h.out, "\nResponse contents:\n")
|
fmt.Fprint(h.Out, "\nResponse contents:\n")
|
||||||
}
|
}
|
||||||
if respStr, err := h.formatter(resp); err != nil {
|
if respStr, err := h.Formatter(resp); err != nil {
|
||||||
fmt.Fprintf(h.out, "Failed to format response message %d: %v\n", h.NumResponses, err)
|
fmt.Fprintf(h.Out, "Failed to format response message %d: %v\n", h.NumResponses, err)
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprintln(h.out, respStr)
|
fmt.Fprintln(h.Out, respStr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *DefaultEventHandler) OnReceiveTrailers(stat *status.Status, md metadata.MD) {
|
func (h *DefaultEventHandler) OnReceiveTrailers(stat *status.Status, md metadata.MD) {
|
||||||
h.Status = stat
|
h.Status = stat
|
||||||
if h.verbosityLevel > 0 {
|
if h.VerbosityLevel > 0 {
|
||||||
fmt.Fprintf(h.out, "\nResponse trailers received:\n%s\n", MetadataToString(md))
|
fmt.Fprintf(h.Out, "\nResponse trailers received:\n%s\n", MetadataToString(md))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,12 @@ func TestHandler(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
h := NewDefaultEventHandler(&buf, source, formatter, verbosityLevel)
|
h := &DefaultEventHandler{
|
||||||
|
Out: &buf,
|
||||||
|
DescSource: source,
|
||||||
|
Formatter: formatter,
|
||||||
|
VerbosityLevel: verbosityLevel,
|
||||||
|
}
|
||||||
|
|
||||||
h.OnResolveMethod(md)
|
h.OnResolveMethod(md)
|
||||||
h.OnSendHeaders(reqHeaders)
|
h.OnSendHeaders(reqHeaders)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue