update metadata
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
7d3dc63ae4
commit
3fc7db17c3
2
go.mod
2
go.mod
@ -5,5 +5,5 @@ go 1.13
|
|||||||
require (
|
require (
|
||||||
github.com/unistack-org/micro-codec-jsonrpc v0.0.0-20201102222451-ff6a69988bcd
|
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-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.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 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.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/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA=
|
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=
|
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 {
|
func (h *httpServer) NewHandler(handler interface{}, opts ...server.HandlerOption) server.Handler {
|
||||||
options := server.HandlerOptions{
|
options := server.NewHandlerOptions(opts...)
|
||||||
Metadata: make(map[string]map[string]string),
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, o := range opts {
|
|
||||||
o(&options)
|
|
||||||
}
|
|
||||||
|
|
||||||
var eps []*registry.Endpoint
|
var eps []*registry.Endpoint
|
||||||
|
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
package http
|
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 {
|
type httpMessage struct {
|
||||||
topic string
|
topic string
|
||||||
payload interface{}
|
payload interface{}
|
||||||
contentType string
|
contentType string
|
||||||
header map[string]string
|
header metadata.Metadata
|
||||||
body []byte
|
body []byte
|
||||||
codec codec.Reader
|
codec codec.Reader
|
||||||
}
|
}
|
||||||
@ -23,7 +26,7 @@ func (r *httpMessage) ContentType() string {
|
|||||||
return r.contentType
|
return r.contentType
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *httpMessage) Header() map[string]string {
|
func (r *httpMessage) Header() metadata.Metadata {
|
||||||
return r.header
|
return r.header
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,9 +38,6 @@ type httpSubscriber struct {
|
|||||||
|
|
||||||
func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOption) server.Subscriber {
|
func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOption) server.Subscriber {
|
||||||
options := server.NewSubscriberOptions(opts...)
|
options := server.NewSubscriberOptions(opts...)
|
||||||
for _, o := range opts {
|
|
||||||
o(&options)
|
|
||||||
}
|
|
||||||
|
|
||||||
var endpoints []*registry.Endpoint
|
var endpoints []*registry.Endpoint
|
||||||
var handlers []*handler
|
var handlers []*handler
|
||||||
@ -59,15 +56,14 @@ func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOptio
|
|||||||
}
|
}
|
||||||
|
|
||||||
handlers = append(handlers, h)
|
handlers = append(handlers, h)
|
||||||
|
ep := ®istry.Endpoint{
|
||||||
endpoints = append(endpoints, ®istry.Endpoint{
|
|
||||||
Name: "Func",
|
Name: "Func",
|
||||||
Request: registry.ExtractSubValue(typ),
|
Request: registry.ExtractSubValue(typ),
|
||||||
Metadata: map[string]string{
|
Metadata: metadata.New(2),
|
||||||
"topic": topic,
|
}
|
||||||
"subscriber": "true",
|
ep.Metadata.Set("topic", topic)
|
||||||
},
|
ep.Metadata.Set("subscriber", "true")
|
||||||
})
|
endpoints = append(endpoints, ep)
|
||||||
} else {
|
} else {
|
||||||
hdlr := reflect.ValueOf(sub)
|
hdlr := reflect.ValueOf(sub)
|
||||||
name := reflect.Indirect(hdlr).Type().Name()
|
name := reflect.Indirect(hdlr).Type().Name()
|
||||||
@ -87,15 +83,14 @@ func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOptio
|
|||||||
}
|
}
|
||||||
|
|
||||||
handlers = append(handlers, h)
|
handlers = append(handlers, h)
|
||||||
|
ep := ®istry.Endpoint{
|
||||||
endpoints = append(endpoints, ®istry.Endpoint{
|
|
||||||
Name: name + "." + method.Name,
|
Name: name + "." + method.Name,
|
||||||
Request: registry.ExtractSubValue(method.Type),
|
Request: registry.ExtractSubValue(method.Type),
|
||||||
Metadata: map[string]string{
|
Metadata: metadata.New(2),
|
||||||
"topic": topic,
|
}
|
||||||
"subscriber": "true",
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
hdr := make(map[string]string)
|
hdr := metadata.Copy(msg.Header)
|
||||||
for k, v := range msg.Header {
|
|
||||||
hdr[k] = v
|
|
||||||
}
|
|
||||||
delete(hdr, "Content-Type")
|
delete(hdr, "Content-Type")
|
||||||
ctx := metadata.NewContext(context.Background(), hdr)
|
ctx := metadata.NewContext(context.Background(), hdr)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user