update metadata
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -5,5 +5,5 @@ go 1.13 | ||||
| require ( | ||||
| 	github.com/unistack-org/micro-codec-jsonrpc v0.0.0-20201102222451-ff6a69988bcd | ||||
| 	github.com/unistack-org/micro-codec-protorpc v0.0.0-20201102222610-3a343898c077 | ||||
| 	github.com/unistack-org/micro/v3 v3.0.0-gamma.0.20201104214903-1fbf8b2e209e | ||||
| 	github.com/unistack-org/micro/v3 v3.0.2-0.20201117210202-01e64cb0c0f3 | ||||
| ) | ||||
|   | ||||
							
								
								
									
										2
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.sum
									
									
									
									
									
								
							| @@ -307,6 +307,8 @@ github.com/unistack-org/micro/v3 v3.0.0-gamma.0.20200920135754-1cbd1d2bad83/go.m | ||||
| github.com/unistack-org/micro/v3 v3.0.0-gamma.0.20200922103357-4c4fa00a5d94/go.mod h1:aL+8VhSXpx0SuEeXPOWUo5BgS7kyvWYobeXFay90UUM= | ||||
| github.com/unistack-org/micro/v3 v3.0.0-gamma.0.20201104214903-1fbf8b2e209e h1:v27OUgoE2UOyCe6uLksdpG6oErx62nUXWIkTPxS7yIw= | ||||
| github.com/unistack-org/micro/v3 v3.0.0-gamma.0.20201104214903-1fbf8b2e209e/go.mod h1:LFvCXGOgcLIj2k/8eL71TpIpcJBN2SXXAUx8U6dz9Rw= | ||||
| github.com/unistack-org/micro/v3 v3.0.2-0.20201117210202-01e64cb0c0f3 h1:knz0mt3Ot/CIXp5dRyb5dAPYtKiWA9PDhazpXX5Iu3o= | ||||
| github.com/unistack-org/micro/v3 v3.0.2-0.20201117210202-01e64cb0c0f3/go.mod h1:LYbzHigEudM10AbLZztVSX0Y4JWgj5nKIExil/99h6E= | ||||
| github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||
| github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA= | ||||
| github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= | ||||
|   | ||||
							
								
								
									
										8
									
								
								http.go
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								http.go
									
									
									
									
									
								
							| @@ -78,13 +78,7 @@ func (h *httpServer) Handle(handler server.Handler) error { | ||||
| } | ||||
|  | ||||
| func (h *httpServer) NewHandler(handler interface{}, opts ...server.HandlerOption) server.Handler { | ||||
| 	options := server.HandlerOptions{ | ||||
| 		Metadata: make(map[string]map[string]string), | ||||
| 	} | ||||
|  | ||||
| 	for _, o := range opts { | ||||
| 		o(&options) | ||||
| 	} | ||||
| 	options := server.NewHandlerOptions(opts...) | ||||
|  | ||||
| 	var eps []*registry.Endpoint | ||||
|  | ||||
|   | ||||
| @@ -1,12 +1,15 @@ | ||||
| package http | ||||
|  | ||||
| import "github.com/unistack-org/micro/v3/codec" | ||||
| import ( | ||||
| 	"github.com/unistack-org/micro/v3/codec" | ||||
| 	"github.com/unistack-org/micro/v3/metadata" | ||||
| ) | ||||
|  | ||||
| type httpMessage struct { | ||||
| 	topic       string | ||||
| 	payload     interface{} | ||||
| 	contentType string | ||||
| 	header      map[string]string | ||||
| 	header      metadata.Metadata | ||||
| 	body        []byte | ||||
| 	codec       codec.Reader | ||||
| } | ||||
| @@ -23,7 +26,7 @@ func (r *httpMessage) ContentType() string { | ||||
| 	return r.contentType | ||||
| } | ||||
|  | ||||
| func (r *httpMessage) Header() map[string]string { | ||||
| func (r *httpMessage) Header() metadata.Metadata { | ||||
| 	return r.header | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -38,9 +38,6 @@ type httpSubscriber struct { | ||||
|  | ||||
| func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOption) server.Subscriber { | ||||
| 	options := server.NewSubscriberOptions(opts...) | ||||
| 	for _, o := range opts { | ||||
| 		o(&options) | ||||
| 	} | ||||
|  | ||||
| 	var endpoints []*registry.Endpoint | ||||
| 	var handlers []*handler | ||||
| @@ -59,15 +56,14 @@ func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOptio | ||||
| 		} | ||||
|  | ||||
| 		handlers = append(handlers, h) | ||||
|  | ||||
| 		endpoints = append(endpoints, ®istry.Endpoint{ | ||||
| 			Name:    "Func", | ||||
| 			Request: registry.ExtractSubValue(typ), | ||||
| 			Metadata: map[string]string{ | ||||
| 				"topic":      topic, | ||||
| 				"subscriber": "true", | ||||
| 			}, | ||||
| 		}) | ||||
| 		ep := ®istry.Endpoint{ | ||||
| 			Name:     "Func", | ||||
| 			Request:  registry.ExtractSubValue(typ), | ||||
| 			Metadata: metadata.New(2), | ||||
| 		} | ||||
| 		ep.Metadata.Set("topic", topic) | ||||
| 		ep.Metadata.Set("subscriber", "true") | ||||
| 		endpoints = append(endpoints, ep) | ||||
| 	} else { | ||||
| 		hdlr := reflect.ValueOf(sub) | ||||
| 		name := reflect.Indirect(hdlr).Type().Name() | ||||
| @@ -87,15 +83,14 @@ func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOptio | ||||
| 			} | ||||
|  | ||||
| 			handlers = append(handlers, h) | ||||
|  | ||||
| 			endpoints = append(endpoints, ®istry.Endpoint{ | ||||
| 				Name:    name + "." + method.Name, | ||||
| 				Request: registry.ExtractSubValue(method.Type), | ||||
| 				Metadata: map[string]string{ | ||||
| 					"topic":      topic, | ||||
| 					"subscriber": "true", | ||||
| 				}, | ||||
| 			}) | ||||
| 			ep := ®istry.Endpoint{ | ||||
| 				Name:     name + "." + method.Name, | ||||
| 				Request:  registry.ExtractSubValue(method.Type), | ||||
| 				Metadata: metadata.New(2), | ||||
| 			} | ||||
| 			ep.Metadata.Set("topic", topic) | ||||
| 			ep.Metadata.Set("subscriber", "true") | ||||
| 			endpoints = append(endpoints, ep) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @@ -119,10 +114,7 @@ func (s *httpServer) createSubHandler(sb *httpSubscriber, opts server.Options) b | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		hdr := make(map[string]string) | ||||
| 		for k, v := range msg.Header { | ||||
| 			hdr[k] = v | ||||
| 		} | ||||
| 		hdr := metadata.Copy(msg.Header) | ||||
| 		delete(hdr, "Content-Type") | ||||
| 		ctx := metadata.NewContext(context.Background(), hdr) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user