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/dialer"
"github.com/go-gost/gost/pkg/components/handler" "github.com/go-gost/gost/pkg/components/handler"
"github.com/go-gost/gost/pkg/components/listener" "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/config"
"github.com/go-gost/gost/pkg/logger" "github.com/go-gost/gost/pkg/logger"
"github.com/go-gost/gost/pkg/registry" "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) s.WithListener(ln)
var chain *chain.Chain 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) s.WithHandler(h)
services = append(services, s) 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) tr.WithConnector(cr)
d := registry.GetDialer(v.Dialer.Type)( 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) tr.WithDialer(d)
node.WithTransport(tr) node.WithTransport(tr)

View File

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