add metadata interface

This commit is contained in:
ginuerzh 2021-10-29 23:47:33 +08:00
parent 24c33e6194
commit 4969bc1067
2 changed files with 9 additions and 8 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/go-gost/gost/pkg/components/dialer"
"github.com/go-gost/gost/pkg/components/handler"
"github.com/go-gost/gost/pkg/components/listener"
"github.com/go-gost/gost/pkg/components/metadata"
"github.com/go-gost/gost/pkg/config"
"github.com/go-gost/gost/pkg/logger"
"github.com/go-gost/gost/pkg/registry"
@ -59,7 +60,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
}),
),
)
ln.Init(listener.Metadata(svc.Listener.Metadata))
ln.Init(metadata.MapMetadata(svc.Listener.Metadata))
s.WithListener(ln)
var chain *chain.Chain
@ -78,7 +79,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
}),
),
)
h.Init(handler.Metadata(svc.Handler.Metadata))
h.Init(metadata.MapMetadata(svc.Handler.Metadata))
s.WithHandler(h)
services = append(services, s)
@ -111,7 +112,7 @@ func buildChain(cfg *config.Config) (chains []*chain.Chain) {
}),
),
)
cr.Init(connector.Metadata(v.Connector.Metadata))
cr.Init(metadata.MapMetadata(v.Connector.Metadata))
tr.WithConnector(cr)
d := registry.GetDialer(v.Dialer.Type)(
@ -122,7 +123,7 @@ func buildChain(cfg *config.Config) (chains []*chain.Chain) {
}),
),
)
d.Init(dialer.Metadata(v.Dialer.Metadata))
d.Init(metadata.MapMetadata(v.Dialer.Metadata))
tr.WithDialer(d)
node.WithTransport(tr)

View File

@ -10,12 +10,13 @@ services:
type: http
metadata:
proxyAgent: "gost/3.0"
auths:
- user1:pass1
- user2:pass2
listener:
type: tcp
metadata:
keepAlive: 15s
username: gost
password: gost
# chain: chain01
chains:
@ -40,8 +41,7 @@ chains:
type: http
metadata:
userAgent: "gost/3.0"
username: gost
password: gost
auth: username:password
dialer:
type: tcp
metadata: {}