本文整理汇总了Golang中github.com/cloudfoundry/gorouter/config.DefaultConfig函数的典型用法代码示例。如果您正苦于以下问题:Golang DefaultConfig函数的具体用法?Golang DefaultConfig怎么用?Golang DefaultConfig使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DefaultConfig函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: SetUpTest
func (s *ProxySuite) SetUpTest(c *C) {
s.conf = config.DefaultConfig()
s.conf.TraceKey = "my_trace_key"
s.conf.EndpointTimeout = 500 * time.Millisecond
mbus := fakeyagnats.New()
s.r = registry.NewCFRegistry(s.conf, mbus)
fmt.Printf("Config: %#v", s.conf)
s.accessLogFile = new(test_util.FakeFile)
accessLog := access_log.NewFileAndLoggregatorAccessLogger(s.accessLogFile, "localhost:9843", "secret", 42)
go accessLog.Run()
s.p = NewProxy(ProxyArgs{
EndpointTimeout: s.conf.EndpointTimeout,
Ip: s.conf.Ip,
TraceKey: s.conf.TraceKey,
Registry: s.r,
Reporter: nullVarz{},
Logger: accessLog,
})
ln, err := net.Listen("tcp", "127.0.0.1:0")
if err != nil {
panic(err)
}
server := server.Server{Handler: s.p}
go server.Serve(ln)
s.proxyServer = ln
}
开发者ID:nimbus-cloud,项目名称:gorouter,代码行数:33,代码来源:proxy_test.go
示例2: TestPanicsIfInvalidAccessLogLocation
func (s *CreateRunningAccessLoggerSuite) TestPanicsIfInvalidAccessLogLocation(c *C) {
config := config.DefaultConfig()
config.AccessLog = "/this\\should/panic"
c.Assert(func() {
CreateRunningAccessLogger(config)
}, PanicMatches, "open /this\\\\should/panic: no such file or directory")
}
开发者ID:jackfengibm,项目名称:gorouter,代码行数:7,代码来源:create_running_access_logger_test.go
示例3: TestProxyPanicsIfInvalidAccessLogLocation
func (s *ProxySuite) TestProxyPanicsIfInvalidAccessLogLocation(c *C) {
x := config.DefaultConfig()
x.AccessLog = "/this\\should/panic"
c.Assert(func() {
NewProxy(x, nil, nil)
}, PanicMatches, "open /this\\\\should/panic: no such file or directory")
}
开发者ID:nanha,项目名称:gorouter,代码行数:7,代码来源:proxy_test.go
示例4: TestProxyHasAccessLoggerIfBothAccesLogAndLoggregatorUrl
func (s *ProxySuite) TestProxyHasAccessLoggerIfBothAccesLogAndLoggregatorUrl(c *C) {
x := config.DefaultConfig()
x.LoggregatorConfig.Url = "10.10.3.13:4325"
x.AccessLog = "/dev/null"
proxy := NewProxy(x, nil, nil)
c.Assert(proxy.AccessLogger, NotNil)
}
开发者ID:nanha,项目名称:gorouter,代码行数:7,代码来源:proxy_test.go
示例5: BenchmarkRegister
func BenchmarkRegister(b *testing.B) {
c := config.DefaultConfig()
mbus := fakeyagnats.New()
r := registry.NewCFRegistry(c, mbus)
proxy.NewProxy(proxy.ProxyArgs{
EndpointTimeout: c.EndpointTimeout,
Ip: c.Ip,
TraceKey: c.TraceKey,
Registry: r,
Reporter: varz.NewVarz(r),
Logger: access_log.CreateRunningAccessLogger(c),
})
for i := 0; i < b.N; i++ {
str := strconv.Itoa(i)
r.Register(
route.Uri("bench.vcap.me."+str),
&route.Endpoint{
Host: "localhost",
Port: uint16(i),
},
)
}
}
开发者ID:jackfengibm,项目名称:gorouter,代码行数:26,代码来源:perf_test.go
示例6: main
func main() {
c := config.DefaultConfig()
logCounter := vcap.NewLogCounter()
if configFile != "" {
c = config.InitConfigFromFile(configFile)
}
InitLoggerFromConfig(c, logCounter)
logger := steno.NewLogger("router.main")
err := dropsonde.Initialize(c.Logging.MetronAddress, c.Logging.JobName)
if err != nil {
logger.Errorf("Dropsonde failed to initialize: %s", err.Error())
os.Exit(1)
}
// setup number of procs
if c.GoMaxProcs != 0 {
runtime.GOMAXPROCS(c.GoMaxProcs)
}
if c.DebugAddr != "" {
cf_debug_server.Run(c.DebugAddr)
}
logger.Info("Setting up NATs connection")
natsClient := connectToNatsServer(c, logger)
registry := rregistry.NewRouteRegistry(c, natsClient)
logger.Info("Setting up routing_api route fetcher")
setupRouteFetcher(c, registry)
varz := rvarz.NewVarz(registry)
accessLogger, err := access_log.CreateRunningAccessLogger(c)
if err != nil {
logger.Fatalf("Error creating access logger: %s\n", err)
}
proxy := buildProxy(c, registry, accessLogger, varz)
router, err := router.NewRouter(c, proxy, natsClient, registry, varz, logCounter)
if err != nil {
logger.Errorf("An error occurred: %s", err.Error())
os.Exit(1)
}
errChan := router.Run()
logger.Info("gorouter.started")
waitOnErrOrSignal(c, logger, errChan, router)
os.Exit(0)
}
开发者ID:simonjohansson,项目名称:gorouter,代码行数:57,代码来源:main.go
示例7: TestProxyCreatesAnAccessLogger
func (s *ProxySuite) TestProxyCreatesAnAccessLogger(c *C) {
x := config.DefaultConfig()
x.LoggregatorConfig.Url = "10.10.3.13:4325"
x.AccessLog = ""
proxy := NewProxy(x, nil, nil)
var accessLoggerInterface access_log.AccessLogger
c.Assert(proxy.AccessLogger, Implements, &accessLoggerInterface)
}
开发者ID:karlpilkington,项目名称:golang-devops-stuff,代码行数:9,代码来源:proxy_test.go
示例8: TestSetupLoggerFromConfig
func (s *LoggerSuite) TestSetupLoggerFromConfig(c *C) {
cfg := config.DefaultConfig()
cfg.Logging.File = "/tmp/gorouter.log"
SetupLoggerFromConfig(cfg)
count := Counter.GetCount("info")
logger := steno.NewLogger("test")
logger.Info("Hello")
c.Assert(Counter.GetCount("info"), Equals, count+1)
}
开发者ID:nakaji-s,项目名称:gorouter,代码行数:11,代码来源:logger_test.go
示例9: main
func main() {
c := config.DefaultConfig()
if configFile != "" {
c = config.InitConfigFromFile(configFile)
}
log.SetupLoggerFromConfig(c)
router.NewRouter(c).Run()
select {}
}
开发者ID:jackfengibm,项目名称:gorouter,代码行数:12,代码来源:main.go
示例10: generateConfig
func generateConfig(statusPort, proxyPort uint16, natsPorts ...uint16) *config.Config {
c := config.DefaultConfig()
c.Port = proxyPort
c.Index = 2
c.TraceKey = "my_trace_key"
// Hardcode the IP to localhost to avoid leaving the machine while running tests
c.Ip = "127.0.0.1"
c.StartResponseDelayInterval = 10 * time.Millisecond
c.PublishStartMessageIntervalInSeconds = 10
c.PruneStaleDropletsInterval = 0
c.DropletStaleThreshold = 0
c.PublishActiveAppsInterval = 0
c.Zone = "z1"
c.EndpointTimeout = 500 * time.Millisecond
c.Status = config.StatusConfig{
Port: statusPort,
User: "user",
Pass: "pass",
}
c.Nats = []config.NatsConfig{}
for _, natsPort := range natsPorts {
c.Nats = append(c.Nats, config.NatsConfig{
Host: "localhost",
Port: natsPort,
User: "nats",
Pass: "nats",
})
}
c.Logging = config.LoggingConfig{
File: "/dev/stdout",
Level: "debug",
MetronAddress: "localhost:3457",
JobName: "router_test_z1_0",
}
c.OAuth = config.OAuthConfig{
TokenEndpoint: "uaa.cf.service.internal",
Port: 8443,
SkipOAuthTLSVerification: true,
}
c.RouteServiceSecret = "kCvXxNMB0JO2vinxoru9Hg=="
return c
}
开发者ID:yingkitw,项目名称:gorouter,代码行数:52,代码来源:helpers.go
示例11: generateConfig
func generateConfig(natsPort, statusPort, proxyPort uint16) *config.Config {
logger := lagertest.NewTestLogger("test")
c := config.DefaultConfig(logger)
c.Port = proxyPort
c.Index = 2
c.TraceKey = "my_trace_key"
// Hardcode the IP to localhost to avoid leaving the machine while running tests
c.Ip = "127.0.0.1"
c.StartResponseDelayInterval = 10 * time.Millisecond
c.PublishStartMessageIntervalInSeconds = 10
c.PruneStaleDropletsInterval = 0
c.DropletStaleThreshold = 0
c.PublishActiveAppsInterval = 0
c.Zone = "z1"
c.EndpointTimeout = 500 * time.Millisecond
c.Status = config.StatusConfig{
Port: statusPort,
User: "user",
Pass: "pass",
}
c.Nats = []config.NatsConfig{
{
Host: "localhost",
Port: natsPort,
User: "nats",
Pass: "nats",
},
}
c.Logging = config.LoggingConfig{
File: "/dev/stdout",
Level: "info",
MetronAddress: "localhost:3457",
JobName: "router_test_z1_0",
}
c.OAuth = token_fetcher.OAuthConfig{
TokenEndpoint: "http://localhost",
Port: 8080,
}
c.RouteServiceSecret = "kCvXxNMB0JO2vinxoru9Hg=="
return c
}
开发者ID:shashankmjain,项目名称:gorouter,代码行数:51,代码来源:helpers.go
示例12: BenchmarkRegister
func BenchmarkRegister(b *testing.B) {
c := config.DefaultConfig()
mbus := fakeyagnats.New()
r := registry.NewRegistry(c, mbus)
p := proxy.NewProxy(c, r, varz.NewVarz(r))
for i := 0; i < b.N; i++ {
str := strconv.Itoa(i)
p.Register(
route.Uri("bench.vcap.me."+str),
&route.Endpoint{
Host: "localhost",
Port: uint16(i),
},
)
}
}
开发者ID:nakaji-s,项目名称:gorouter,代码行数:18,代码来源:perf_test.go
示例13: SetUpTest
func (s *ProxySuite) SetUpTest(c *C) {
config := config.DefaultConfig()
config.TraceKey = "my_trace_key"
config.EndpointTimeout = 500 * time.Millisecond
mbus := fakeyagnats.New()
s.r = registry.NewRegistry(config, mbus)
s.p = NewProxy(config, s.r, nullVarz{})
ln, err := net.Listen("tcp", "127.0.0.1:0")
if err != nil {
panic(err)
}
server := server.Server{Handler: s.p}
go server.Serve(ln)
s.proxyServer = ln
}
开发者ID:karlpilkington,项目名称:golang-devops-stuff,代码行数:19,代码来源:proxy_test.go
示例14: SetUpTest
func (s *RegistrySuite) SetUpTest(c *C) {
var configObj *config.Config
configObj = config.DefaultConfig()
configObj.DropletStaleThreshold = 10 * time.Millisecond
s.messageBus = fakeyagnats.New()
s.Registry = NewRegistry(configObj, s.messageBus)
fooEndpoint = &route.Endpoint{
Host: "192.168.1.1",
Port: 1234,
ApplicationId: "12345",
Tags: map[string]string{
"runtime": "ruby18",
"framework": "sinatra",
},
}
barEndpoint = &route.Endpoint{
Host: "192.168.1.2",
Port: 4321,
ApplicationId: "54321",
Tags: map[string]string{
"runtime": "javascript",
"framework": "node",
},
}
bar2Endpoint = &route.Endpoint{
Host: "192.168.1.3",
Port: 1234,
ApplicationId: "54321",
Tags: map[string]string{
"runtime": "javascript",
"framework": "node",
},
}
}
开发者ID:nakaji-s,项目名称:gorouter,代码行数:42,代码来源:registry_test.go
示例15: SpecConfig
func SpecConfig(natsPort, statusPort, proxyPort uint16) *config.Config {
c := config.DefaultConfig()
c.Port = proxyPort
c.Index = 2
c.TraceKey = "my_trace_key"
// Hardcode the IP to localhost to avoid leaving the machine while running tests
c.Ip = "127.0.0.1"
c.StartResponseDelayInterval = 10 * time.Millisecond
c.PublishStartMessageIntervalInSeconds = 10
c.PruneStaleDropletsInterval = 0
c.DropletStaleThreshold = 0
c.PublishActiveAppsInterval = 0
c.EndpointTimeout = 500 * time.Millisecond
c.Status = config.StatusConfig{
Port: statusPort,
User: "user",
Pass: "pass",
}
c.Nats = []config.NatsConfig{
{
Host: "localhost",
Port: natsPort,
User: "nats",
Pass: "nats",
},
}
c.Logging = config.LoggingConfig{
File: "/dev/stdout",
Level: "info",
}
return c
}
开发者ID:KeyOfSpectator,项目名称:gorouter,代码行数:40,代码来源:helpers.go
示例16:
package access_log_test
import (
. "github.com/cloudfoundry/gorouter/access_log"
"github.com/cloudfoundry/gorouter/config"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("AccessLog", func() {
It("creates null access loger if no access log and loggregator is disabled", func() {
config := config.DefaultConfig()
Expect(CreateRunningAccessLogger(config)).To(BeAssignableToTypeOf(&NullAccessLogger{}))
})
It("creates an access log when loggegrator is enabled", func() {
config := config.DefaultConfig()
config.Logging.LoggregatorEnabled = true
config.AccessLog = ""
accessLogger, _ := CreateRunningAccessLogger(config)
Expect(accessLogger.(*FileAndLoggregatorAccessLogger).FileWriter()).To(BeNil())
Expect(accessLogger.(*FileAndLoggregatorAccessLogger).DropsondeSourceInstance()).To(Equal("0"))
})
It("creates an access log if an access log is specified", func() {
config := config.DefaultConfig()
开发者ID:idouba,项目名称:gorouter,代码行数:31,代码来源:create_running_access_logger_test.go
示例17:
"github.com/cloudfoundry/gorouter/config"
"github.com/cloudfoundry/gorouter/proxy"
"github.com/cloudfoundry/gorouter/registry"
"github.com/cloudfoundry/gorouter/route"
"github.com/cloudfoundry/gorouter/varz"
"github.com/cloudfoundry/yagnats/fakeyagnats"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"strconv"
)
var _ = Describe("AccessLogRecord", func() {
Measure("Register", func(b Benchmarker) {
c := config.DefaultConfig()
mbus := fakeyagnats.NewApceraClientWrapper()
r := registry.NewRouteRegistry(c, mbus)
accesslog, err := access_log.CreateRunningAccessLogger(c)
Ω(err).ToNot(HaveOccurred())
proxy.NewProxy(proxy.ProxyArgs{
EndpointTimeout: c.EndpointTimeout,
Ip: c.Ip,
TraceKey: c.TraceKey,
Registry: r,
Reporter: varz.NewVarz(r),
AccessLogger: accesslog,
})
开发者ID:johannespetzold,项目名称:gorouter,代码行数:30,代码来源:perf_test.go
示例18: main
func main() {
c := config.DefaultConfig()
logCounter := vcap.NewLogCounter()
if configFile != "" {
c = config.InitConfigFromFile(configFile)
}
InitLoggerFromConfig(c, logCounter)
logger := steno.NewLogger("router.main")
err := dropsonde.Initialize(c.Logging.MetronAddress, c.Logging.JobName)
if err != nil {
logger.Errorf("Dropsonde failed to initialize: %s", err.Error())
os.Exit(1)
}
// setup number of procs
if c.GoMaxProcs != 0 {
runtime.GOMAXPROCS(c.GoMaxProcs)
}
if c.DebugAddr != "" {
cf_debug_server.Run(c.DebugAddr)
}
natsServers := c.NatsServers()
var natsClient yagnats.NATSConn
attempts := 3
for attempts > 0 {
natsClient, err = yagnats.Connect(natsServers)
if err == nil {
break
} else {
attempts--
time.Sleep(100 * time.Millisecond)
}
}
if err != nil {
logger.Errorf("Error connecting to NATS: %s\n", err)
os.Exit(1)
}
natsClient.AddClosedCB(func(conn *nats.Conn) {
logger.Errorf("Close on NATS client. nats.Conn: %+v", *conn)
os.Exit(1)
})
registry := rregistry.NewRouteRegistry(c, natsClient)
if c.RoutingApiEnabled() {
logger.Info("Setting up routing_api route fetcher")
tokenFetcher := token_fetcher.NewTokenFetcher(&c.OAuth)
routingApiUri := fmt.Sprintf("%s:%d", c.RoutingApi.Uri, c.RoutingApi.Port)
routingApiClient := routing_api.NewClient(routingApiUri)
routeFetcher := route_fetcher.NewRouteFetcher(steno.NewLogger("router.route_fetcher"), tokenFetcher, registry, c, routingApiClient, 1)
routeFetcher.StartFetchCycle()
routeFetcher.StartEventCycle()
}
varz := rvarz.NewVarz(registry)
accessLogger, err := access_log.CreateRunningAccessLogger(c)
if err != nil {
logger.Fatalf("Error creating access logger: %s\n", err)
}
args := proxy.ProxyArgs{
EndpointTimeout: c.EndpointTimeout,
Ip: c.Ip,
TraceKey: c.TraceKey,
Registry: registry,
Reporter: varz,
AccessLogger: accessLogger,
SecureCookies: c.SecureCookies,
}
p := proxy.NewProxy(args)
router, err := router.NewRouter(c, p, natsClient, registry, varz, logCounter)
if err != nil {
logger.Errorf("An error occurred: %s", err.Error())
os.Exit(1)
}
signals := make(chan os.Signal, 1)
signal.Notify(signals, syscall.SIGTERM, syscall.SIGINT, syscall.SIGUSR1)
errChan := router.Run()
logger.Info("gorouter.started")
select {
case err := <-errChan:
if err != nil {
logger.Errorf("Error occurred: %s", err.Error())
os.Exit(1)
}
case sig := <-signals:
go func() {
//.........这里部分代码省略.........
开发者ID:trainchou,项目名称:gorouter,代码行数:101,代码来源:main.go
示例19:
"encoding/json"
"time"
)
var _ = Describe("RouteRegistry", func() {
var r *RouteRegistry
var messageBus *fakeyagnats.FakeNATSConn
var reporter *fakes.FakeRouteReporter
var fooEndpoint, barEndpoint, bar2Endpoint *route.Endpoint
var configObj *config.Config
BeforeEach(func() {
logger := lagertest.NewTestLogger("test")
configObj = config.DefaultConfig(logger)
configObj.PruneStaleDropletsInterval = 50 * time.Millisecond
configObj.DropletStaleThreshold = 10 * time.Millisecond
messageBus = fakeyagnats.Connect()
reporter = new(fakes.FakeRouteReporter)
r = NewRouteRegistry(configObj, messageBus, reporter)
fooEndpoint = route.NewEndpoint("12345", "192.168.1.1", 1234,
"id1", map[string]string{
"runtime": "ruby18",
"framework": "sinatra",
}, -1, "")
barEndpoint = route.NewEndpoint("54321", "192.168.1.2", 4321,
"id2", map[string]string{
开发者ID:shashankmjain,项目名称:gorouter,代码行数:31,代码来源:registry_test.go
示例20: SetUpTest
func (s *VarzSuite) SetUpTest(c *C) {
r := registry.NewCFRegistry(config.DefaultConfig(), fakeyagnats.New())
s.Registry = r
s.Varz = NewVarz(r)
}
开发者ID:jackfengibm,项目名称:gorouter,代码行数:5,代码来源:varz_test.go
注:本文中的github.com/cloudfoundry/gorouter/config.DefaultConfig函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论