package http import ( "context" "net" "go-micro.dev/v4/broker" "go-micro.dev/v4/codec" "go-micro.dev/v4/logger" "go-micro.dev/v4/registry" "go-micro.dev/v4/server" ) type netListener struct{} func newOptions(opt ...server.Option) server.Options { opts := server.Options{ Codecs: make(map[string]codec.NewCodec), Metadata: map[string]string{}, Context: context.Background(), } for _, o := range opt { o(&opts) } if opts.Logger == nil { opts.Logger = logger.DefaultLogger } if opts.Broker == nil { opts.Broker = broker.DefaultBroker } if opts.Registry == nil { opts.Registry = registry.DefaultRegistry } if len(opts.Address) == 0 { opts.Address = server.DefaultAddress } if len(opts.Name) == 0 { opts.Name = server.DefaultName } if len(opts.Id) == 0 { opts.Id = server.DefaultId } if len(opts.Version) == 0 { opts.Version = server.DefaultVersion } return opts } // Listener specifies the net.Listener to use instead of the default. func Listener(l net.Listener) server.Option { return setServerOption(netListener{}, l) }