add proto codec.Frame support #101
							
								
								
									
										9
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								go.mod
									
									
									
									
									
								
							@@ -1,10 +1,13 @@
 | 
			
		||||
module go.unistack.org/micro-codec-jsonpb/v3
 | 
			
		||||
 | 
			
		||||
go 1.16
 | 
			
		||||
go 1.19
 | 
			
		||||
 | 
			
		||||
require (
 | 
			
		||||
	go.unistack.org/micro/v3 v3.10.14
 | 
			
		||||
	google.golang.org/protobuf v1.28.1
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
require (
 | 
			
		||||
	github.com/google/go-cmp v0.5.7 // indirect
 | 
			
		||||
	go.unistack.org/micro/v3 v3.10.14
 | 
			
		||||
	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
 | 
			
		||||
	google.golang.org/protobuf v1.28.1
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								jsonpb.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								jsonpb.go
									
									
									
									
									
								
							@@ -4,6 +4,7 @@ package jsonpb // import "go.unistack.org/micro-codec-jsonpb/v3"
 | 
			
		||||
import (
 | 
			
		||||
	"io"
 | 
			
		||||
 | 
			
		||||
	pb "go.unistack.org/micro-proto/v3/codec"
 | 
			
		||||
	"go.unistack.org/micro/v3/codec"
 | 
			
		||||
	rutil "go.unistack.org/micro/v3/util/reflect"
 | 
			
		||||
	jsonpb "google.golang.org/protobuf/encoding/protojson"
 | 
			
		||||
@@ -46,7 +47,10 @@ func (c *jsonpbCodec) Marshal(v interface{}, opts ...codec.Option) ([]byte, erro
 | 
			
		||||
		v = nv
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if m, ok := v.(*codec.Frame); ok {
 | 
			
		||||
	switch m := v.(type) {
 | 
			
		||||
	case *codec.Frame:
 | 
			
		||||
		return m.Data, nil
 | 
			
		||||
	case *pb.Frame:
 | 
			
		||||
		return m.Data, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -78,7 +82,11 @@ func (c *jsonpbCodec) Unmarshal(d []byte, v interface{}, opts ...codec.Option) e
 | 
			
		||||
		v = nv
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if m, ok := v.(*codec.Frame); ok {
 | 
			
		||||
	switch m := v.(type) {
 | 
			
		||||
	case *codec.Frame:
 | 
			
		||||
		m.Data = d
 | 
			
		||||
		return nil
 | 
			
		||||
	case *pb.Frame:
 | 
			
		||||
		m.Data = d
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user