本文整理汇总了Golang中github.com/cloudfoundry/gorouter/config.Config类的典型用法代码示例。如果您正苦于以下问题:Golang Config类的具体用法?Golang Config怎么用?Golang Config使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Config类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: connectToNatsServer
func connectToNatsServer(c *config.Config, logger *steno.Logger) yagnats.NATSConn {
var natsClient yagnats.NATSConn
var err error
natsServers := c.NatsServers()
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)
})
return natsClient
}
示例2: connectToNatsServer
func connectToNatsServer(logger lager.Logger, c *config.Config) *nats.Conn {
var natsClient *nats.Conn
var err error
natsServers := c.NatsServers()
attempts := 3
for attempts > 0 {
options := nats.DefaultOptions
options.Servers = natsServers
options.PingInterval = c.NatsClientPingInterval
options.ClosedCB = func(conn *nats.Conn) {
logger.Fatal("nats-connection-closed", errors.New("unexpected close"), lager.Data{"last_error": conn.LastError()})
}
natsClient, err = options.Connect()
if err == nil {
break
} else {
attempts--
time.Sleep(100 * time.Millisecond)
}
}
if err != nil {
logger.Fatal("nats-connection-error", err)
}
return natsClient
}
示例3: connectToNatsServer
func connectToNatsServer(logger lager.Logger, c *config.Config) yagnats.NATSConn {
var natsClient yagnats.NATSConn
var err error
natsServers := c.NatsServers()
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.Fatal("nats-connection-error", err)
}
natsClient.AddClosedCB(func(conn *nats.Conn) {
logger.Fatal("nats-connection-closed", errors.New("unexpected close"), lager.Data{"connection": *conn})
})
return natsClient
}
示例4: setupRouteFetcher
func setupRouteFetcher(c *config.Config, registry rregistry.RegistryInterface) {
if c.RoutingApiEnabled() {
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()
}
}
示例5: NewRouteRegistry
func NewRouteRegistry(c *config.Config, mbus yagnats.NATSConn, reporter metrics.RouteReporter) *RouteRegistry {
r := &RouteRegistry{}
r.logger = c.Logger()
r.byUri = NewTrie()
r.pruneStaleDropletsInterval = c.PruneStaleDropletsInterval
r.dropletStaleThreshold = c.DropletStaleThreshold
r.messageBus = mbus
r.reporter = reporter
return r
}
示例6: 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",
},
}
}
示例7:
. "github.com/cloudfoundry/gorouter/router"
"github.com/cloudfoundry/gorouter/test"
"github.com/cloudfoundry/gorouter/test_util"
vvarz "github.com/cloudfoundry/gorouter/varz"
"github.com/cloudfoundry/gunk/natsrunner"
"github.com/cloudfoundry/yagnats"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"io/ioutil"
"net/http"
"time"
)
var _ = Describe("Router", func() {
var natsRunner *natsrunner.NATSRunner
var config *cfg.Config
var mbusClient *yagnats.Client
var registry *rregistry.RouteRegistry
var varz vvarz.Varz
var router *Router
var natsPort uint16
BeforeEach(func() {
natsPort = test_util.NextAvailPort()
natsRunner = natsrunner.NewNATSRunner(int(natsPort))
natsRunner.Start()
proxyPort := test_util.NextAvailPort()
statusPort := test_util.NextAvailPort()
示例8: init
func init() {
sender = metrics_fakes.NewFakeMetricSender()
metrics.Initialize(sender, nil)
}
var _ = Describe("RouteFetcher", func() {
var (
cfg *config.Config
uaaClient *testUaaClient.FakeClient
registry *testRegistry.FakeRegistryInterface
fetcher *RouteFetcher
logger lager.Logger
client *fake_routing_api.FakeClient
token *schema.Token
response []db.Route
process ifrit.Process
eventChannel chan routing_api.Event
errorChannel chan error
clock *fakeclock.FakeClock
)
BeforeEach(func() {
logger = lagertest.NewTestLogger("test")
cfg = config.DefaultConfig()
cfg.PruneStaleDropletsInterval = 2 * time.Second
retryInterval := 0
示例9:
. "github.com/onsi/gomega"
"github.com/cloudfoundry/gorouter/config"
"github.com/cloudfoundry/gorouter/route"
"github.com/cloudfoundry/yagnats/fakeyagnats"
"encoding/json"
"time"
)
var _ = Describe("RouteRegistry", func() {
var r *RouteRegistry
var messageBus *fakeyagnats.FakeYagnats
var fooEndpoint, barEndpoint, bar2Endpoint *route.Endpoint
var configObj *config.Config
BeforeEach(func() {
configObj = config.DefaultConfig()
configObj.PruneStaleDropletsInterval = 50 * time.Millisecond
configObj.DropletStaleThreshold = 10 * time.Millisecond
messageBus = fakeyagnats.New()
r = NewRouteRegistry(configObj, messageBus)
fooEndpoint = route.NewEndpoint("12345", "192.168.1.1", 1234,
"id1", map[string]string{
"runtime": "ruby18",
"framework": "sinatra",
})
barEndpoint = route.NewEndpoint("54321", "192.168.1.2", 4321,
示例10:
testcommon "github.com/cloudfoundry/gorouter/test/common"
"github.com/pivotal-golang/lager"
"github.com/pivotal-golang/lager/lagertest"
)
var _ = Describe("Router", func() {
const uuid_regex = `^[[:xdigit:]]{8}(-[[:xdigit:]]{4}){3}-[[:xdigit:]]{12}$`
var (
natsRunner *test_util.NATSRunner
natsPort uint16
config *cfg.Config
mbusClient *nats.Conn
registry *rregistry.RouteRegistry
varz vvarz.Varz
router *Router
signals chan os.Signal
closeChannel chan struct{}
readyChan chan struct{}
logger lager.Logger
)
BeforeEach(func() {
natsPort = test_util.NextAvailPort()
natsRunner = test_util.NewNATSRunner(int(natsPort))
natsRunner.Start()
fakeEmitter := fake.NewFakeEventEmitter("fake")
dropsonde.InitializeWithEmitter(fakeEmitter)
示例11: TestProxy
"github.com/pivotal-golang/lager/lagertest"
"testing"
"time"
"github.com/cloudfoundry/gorouter/metrics/fakes"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var (
r *registry.RouteRegistry
p proxy.Proxy
conf *config.Config
proxyServer net.Listener
accessLog access_log.AccessLogger
accessLogFile *test_util.FakeFile
crypto secure.Crypto
logger lager.Logger
cryptoPrev secure.Crypto
)
func TestProxy(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Proxy Suite")
}
var _ = BeforeEach(func() {
logger = lagertest.NewTestLogger("test")
var err error
示例12: MarshalJSON
type connHandler func(*test_util.HttpConn)
type nullVarz struct{}
func (_ nullVarz) MarshalJSON() ([]byte, error) { return json.Marshal(nil) }
func (_ nullVarz) ActiveApps() *stats.ActiveApps { return stats.NewActiveApps() }
func (_ nullVarz) CaptureBadRequest(*http.Request) {}
func (_ nullVarz) CaptureBadGateway(*http.Request) {}
func (_ nullVarz) CaptureRoutingRequest(b *route.Endpoint, req *http.Request) {}
func (_ nullVarz) CaptureRoutingResponse(b *route.Endpoint, res *http.Response, t time.Time, d time.Duration) {
}
var _ = Describe("Proxy", func() {
var r *registry.RouteRegistry
var p Proxy
var conf *config.Config
var proxyServer net.Listener
var accessLog access_log.AccessLogger
var accessLogFile *test_util.FakeFile
BeforeEach(func() {
conf = config.DefaultConfig()
conf.TraceKey = "my_trace_key"
conf.EndpointTimeout = 500 * time.Millisecond
mbus := fakeyagnats.New()
r = registry.NewRouteRegistry(conf, mbus)
accessLogFile = new(test_util.FakeFile)
accessLog = access_log.NewFileAndLoggregatorAccessLogger(accessLogFile, nil)
示例13:
. "github.com/cloudfoundry/gorouter/router"
"github.com/cloudfoundry/gorouter/test"
"github.com/cloudfoundry/gorouter/test_util"
vvarz "github.com/cloudfoundry/gorouter/varz"
"github.com/cloudfoundry/gunk/natsrunner"
"github.com/cloudfoundry/yagnats"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Router", func() {
var (
natsRunner *natsrunner.NATSRunner
config *cfg.Config
mbusClient yagnats.NATSConn
registry *rregistry.RouteRegistry
varz vvarz.Varz
router *Router
natsPort uint16
)
testAndVerifyRouterStopsNoDrain := func(signals chan os.Signal, closeChannel chan struct{}, sigs ...os.Signal) {
app := test.NewTestApp([]route.Uri{"drain.vcap.me"}, config.Port, mbusClient, nil, "")
blocker := make(chan bool)
resultCh := make(chan bool, 2)
app.AddHandler("/", func(w http.ResponseWriter, r *http.Request) {
blocker <- true
_, err := ioutil.ReadAll(r.Body)
defer r.Body.Close()
Expect(err).ToNot(HaveOccurred())
示例14:
"github.com/cloudfoundry/gosteno"
. "github.com/cloudfoundry/gorouter/route_fetcher"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("RouteFetcher", func() {
var (
cfg *config.Config
tokenFetcher *testTokenFetcher.FakeTokenFetcher
registry *testRegistry.FakeRegistryInterface
fetcher *RouteFetcher
logger *gosteno.Logger
sink *gosteno.TestingSink
client *fake_routing_api.FakeClient
retryInterval int
token *token_fetcher.Token
response []db.Route
)
BeforeEach(func() {
cfg = config.DefaultConfig()
retryInterval := 0
tokenFetcher = &testTokenFetcher.FakeTokenFetcher{}
registry = &testRegistry.FakeRegistryInterface{}
sink = gosteno.NewTestingSink()
示例15:
"crypto/tls"
"encoding/json"
"fmt"
"io/ioutil"
"net"
"net/http"
"net/http/httputil"
"strings"
"time"
)
var _ = Describe("Router", func() {
var natsRunner *natsrunner.NATSRunner
var natsPort uint16
var config *cfg.Config
var mbusClient yagnats.NATSConn
var registry *rregistry.RouteRegistry
var varz vvarz.Varz
var router *Router
BeforeEach(func() {
natsPort = test_util.NextAvailPort()
natsRunner = natsrunner.NewNATSRunner(int(natsPort))
natsRunner.Start()
fakeEmitter := fake.NewFakeEventEmitter("fake")
dropsonde.InitializeWithEmitter(fakeEmitter)
proxyPort := test_util.NextAvailPort()