本文整理汇总了Golang中github.com/skyfii/shuttle/client.ServiceConfig.VirtualHosts方法的典型用法代码示例。如果您正苦于以下问题:Golang ServiceConfig.VirtualHosts方法的具体用法?Golang ServiceConfig.VirtualHosts怎么用?Golang ServiceConfig.VirtualHosts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/skyfii/shuttle/client.ServiceConfig
的用法示例。
在下文中一共展示了ServiceConfig.VirtualHosts方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: AddService
// Add a new service to the Registry.
// Do not replace an existing service.
func (s *ServiceRegistry) AddService(svcCfg client.ServiceConfig) error {
s.Lock()
defer s.Unlock()
log.Debug("DEBUG: Adding service:", svcCfg.Name)
if _, ok := s.svcs[svcCfg.Name]; ok {
log.Debug("DEBUG: Service already exists:", svcCfg.Name)
return ErrDuplicateService
}
s.setServiceDefaults(&svcCfg)
svcCfg = svcCfg.SetDefaults()
service := NewService(svcCfg)
err := service.start()
if err != nil {
log.Errorf("ERROR: Unable to start service '%s'", svcCfg.Name)
return err
}
s.svcs[service.Name] = service
svcCfg.VirtualHosts = filterEmpty(svcCfg.VirtualHosts)
for _, name := range svcCfg.VirtualHosts {
vhost := s.vhosts[name]
if vhost == nil {
vhost = &VirtualHost{Name: name}
s.vhosts[name] = vhost
}
vhost.Add(service)
}
return nil
}
示例2: TestAddRemoveVHosts
func (s *HTTPSuite) TestAddRemoveVHosts(c *C) {
svcCfg := client.ServiceConfig{
Name: "VHostTest",
Addr: "127.0.0.1:9000",
VirtualHosts: []string{"test-vhost"},
}
for _, srv := range s.backendServers {
cfg := client.BackendConfig{
Addr: srv.addr,
Name: srv.addr,
}
svcCfg.Backends = append(svcCfg.Backends, cfg)
}
err := Registry.AddService(svcCfg)
if err != nil {
c.Fatal(err)
}
// now update the service with another vhost
svcCfg.VirtualHosts = append(svcCfg.VirtualHosts, "test-vhost-2")
err = Registry.UpdateService(svcCfg)
if err != nil {
c.Fatal(err)
}
if Registry.VHostsLen() != 2 {
c.Fatal("missing new vhost")
}
// remove the first vhost
svcCfg.VirtualHosts = []string{"test-vhost-2"}
err = Registry.UpdateService(svcCfg)
if err != nil {
c.Fatal(err)
}
if Registry.VHostsLen() != 1 {
c.Fatal("extra vhost:", Registry.VHostsLen())
}
// check responses from this new vhost
for _, srv := range s.backendServers {
checkHTTP("http://"+s.httpAddr+"/addr", "test-vhost-2", srv.addr, 200, c)
}
}