1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package internal
- import (
- "io"
- "github.com/golang/protobuf/jsonpb"
- "github.com/golang/protobuf/proto"
- "github.com/jhump/protoreflect/desc"
- "github.com/zeromicro/go-zero/core/logx"
- "google.golang.org/grpc/metadata"
- "google.golang.org/grpc/status"
- )
- type EventHandler struct {
- Status *status.Status
- writer io.Writer
- marshaler jsonpb.Marshaler
- }
- func NewEventHandler(writer io.Writer, resolver jsonpb.AnyResolver) *EventHandler {
- return &EventHandler{
- writer: writer,
- marshaler: jsonpb.Marshaler{
- EmitDefaults: true,
- AnyResolver: resolver,
- },
- }
- }
- func (h *EventHandler) OnReceiveResponse(message proto.Message) {
- if err := h.marshaler.Marshal(h.writer, message); err != nil {
- logx.Error(err)
- }
- }
- func (h *EventHandler) OnReceiveTrailers(status *status.Status, _ metadata.MD) {
- h.Status = status
- }
- func (h *EventHandler) OnResolveMethod(_ *desc.MethodDescriptor) {
- }
- func (h *EventHandler) OnSendHeaders(_ metadata.MD) {
- }
- func (h *EventHandler) OnReceiveHeaders(_ metadata.MD) {
- }
|