本文整理汇总了Golang中github.com/tsuru/tsuru/router.List函数的典型用法代码示例。如果您正苦于以下问题:Golang List函数的具体用法?Golang List怎么用?Golang List使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了List函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: listRouters
func listRouters(w http.ResponseWriter, r *http.Request, t auth.Token) error {
routers, err := router.List()
if err != nil {
return err
}
w.Header().Set("Content-Type", "application/json")
return json.NewEncoder(w).Encode(routers)
}
示例2: listRouters
func listRouters(w http.ResponseWriter, r *http.Request, t auth.Token) error {
allowed := permission.Check(t, permission.PermPlanCreate)
if !allowed {
return permission.ErrUnauthorized
}
routers, err := router.List()
if err != nil {
return err
}
w.Header().Set("Content-Type", "application/json")
return json.NewEncoder(w).Encode(routers)
}
示例3: RunServer
// RunServer starts tsuru API server. The dry parameter indicates whether the
// server should run in dry mode, not starting the HTTP listener (for testing
// purposes).
func RunServer(dry bool) http.Handler {
log.Init()
connString, err := config.GetString("database:url")
if err != nil {
connString = db.DefaultDatabaseURL
}
dbName, err := config.GetString("database:name")
if err != nil {
dbName = db.DefaultDatabaseName
}
fmt.Printf("Using mongodb database %q from the server %q.\n", dbName, connString)
m := &delayedRouter{}
for _, handler := range tsuruHandlerList {
m.Add(handler.method, handler.path, handler.h)
}
if disableIndex, _ := config.GetBool("disable-index-page"); !disableIndex {
m.Add("Get", "/", Handler(index))
}
m.Add("Get", "/info", Handler(info))
m.Add("Get", "/services/instances", authorizationRequiredHandler(serviceInstances))
m.Add("Get", "/services/instances/{name}", authorizationRequiredHandler(serviceInstance))
m.Add("Delete", "/services/instances/{name}", authorizationRequiredHandler(removeServiceInstance))
m.Add("Post", "/services/instances", authorizationRequiredHandler(createServiceInstance))
m.Add("Put", "/services/instances/{instance}/{app}", authorizationRequiredHandler(bindServiceInstance))
m.Add("Delete", "/services/instances/{instance}/{app}", authorizationRequiredHandler(unbindServiceInstance))
m.Add("Get", "/services/instances/{instance}/status", authorizationRequiredHandler(serviceInstanceStatus))
m.Add("Put", "/services/instances/permission/{instance}/{team}", authorizationRequiredHandler(serviceInstanceGrantTeam))
m.Add("Delete", "/services/instances/permission/{instance}/{team}", authorizationRequiredHandler(serviceInstanceRevokeTeam))
m.AddAll("/services/proxy/{instance}", authorizationRequiredHandler(serviceInstanceProxy))
m.AddAll("/services/proxy/service/{service}", authorizationRequiredHandler(serviceProxy))
m.Add("Get", "/services", authorizationRequiredHandler(serviceList))
m.Add("Post", "/services", authorizationRequiredHandler(serviceCreate))
m.Add("Put", "/services", authorizationRequiredHandler(serviceUpdate))
m.Add("Delete", "/services/{name}", authorizationRequiredHandler(serviceDelete))
m.Add("Get", "/services/{name}", authorizationRequiredHandler(serviceInfo))
m.Add("Get", "/services/{name}/plans", authorizationRequiredHandler(servicePlans))
m.Add("Get", "/services/{name}/doc", authorizationRequiredHandler(serviceDoc))
m.Add("Put", "/services/{name}/doc", authorizationRequiredHandler(serviceAddDoc))
m.Add("Put", "/services/{service}/team/{team}", authorizationRequiredHandler(grantServiceAccess))
m.Add("Delete", "/services/{service}/team/{team}", authorizationRequiredHandler(revokeServiceAccess))
m.Add("Delete", "/apps/{app}", authorizationRequiredHandler(appDelete))
m.Add("Get", "/apps/{app}", authorizationRequiredHandler(appInfo))
m.Add("Post", "/apps/{app}/cname", authorizationRequiredHandler(setCName))
m.Add("Delete", "/apps/{app}/cname", authorizationRequiredHandler(unsetCName))
m.Add("Post", "/apps/{app}/plan", authorizationRequiredHandler(changePlan))
runHandler := authorizationRequiredHandler(runCommand)
m.Add("Post", "/apps/{app}/run", runHandler)
m.Add("Post", "/apps/{app}/restart", authorizationRequiredHandler(restart))
m.Add("Post", "/apps/{app}/start", authorizationRequiredHandler(start))
m.Add("Post", "/apps/{app}/stop", authorizationRequiredHandler(stop))
m.Add("Get", "/apps/{appname}/quota", AdminRequiredHandler(getAppQuota))
m.Add("Post", "/apps/{appname}/quota", AdminRequiredHandler(changeAppQuota))
m.Add("Get", "/apps/{app}/env", authorizationRequiredHandler(getEnv))
m.Add("Post", "/apps/{app}/env", authorizationRequiredHandler(setEnv))
m.Add("Delete", "/apps/{app}/env", authorizationRequiredHandler(unsetEnv))
m.Add("Get", "/apps", authorizationRequiredHandler(appList))
m.Add("Post", "/apps", authorizationRequiredHandler(createApp))
m.Add("Post", "/apps/{app}/team-owner", authorizationRequiredHandler(setTeamOwner))
forceDeleteLockHandler := AdminRequiredHandler(forceDeleteLock)
m.Add("Delete", "/apps/{app}/lock", forceDeleteLockHandler)
m.Add("Put", "/apps/{app}/units", authorizationRequiredHandler(addUnits))
m.Add("Delete", "/apps/{app}/units", authorizationRequiredHandler(removeUnits))
registerUnitHandler := authorizationRequiredHandler(registerUnit)
m.Add("Post", "/apps/{app}/units/register", registerUnitHandler)
setUnitStatusHandler := authorizationRequiredHandler(setUnitStatus)
m.Add("Post", "/apps/{app}/units/{unit}", setUnitStatusHandler)
m.Add("Put", "/apps/{app}/teams/{team}", authorizationRequiredHandler(grantAppAccess))
m.Add("Delete", "/apps/{app}/teams/{team}", authorizationRequiredHandler(revokeAppAccess))
m.Add("Get", "/apps/{app}/log", authorizationRequiredHandler(appLog))
logPostHandler := authorizationRequiredHandler(addLog)
m.Add("Post", "/apps/{app}/log", logPostHandler)
m.Add("Post", "/apps/{appname}/deploy/rollback", authorizationRequiredHandler(deployRollback))
m.Add("Post", "/apps/{app}/pool", authorizationRequiredHandler(appChangePool))
m.Add("Get", "/apps/{app}/metric/envs", authorizationRequiredHandler(appMetricEnvs))
m.Add("Post", "/apps/{app}/routes", AdminRequiredHandler(appRebuildRoutes))
m.Add("Post", "/units/status", authorizationRequiredHandler(setUnitsStatus))
m.Add("Get", "/deploys", authorizationRequiredHandler(deploysList))
m.Add("Get", "/deploys/{deploy}", authorizationRequiredHandler(deployInfo))
m.Add("Get", "/platforms", authorizationRequiredHandler(platformList))
m.Add("Post", "/platforms", AdminRequiredHandler(platformAdd))
m.Add("Put", "/platforms/{name}", AdminRequiredHandler(platformUpdate))
m.Add("Delete", "/platforms/{name}", AdminRequiredHandler(platformRemove))
// These handlers don't use {app} on purpose. Using :app means that only
// the token generate for the given app is valid, but these handlers
// use a token generated for Gandalf.
m.Add("Get", "/apps/{appname}/available", authorizationRequiredHandler(appIsAvailable))
//.........这里部分代码省略.........
示例4: startServer
func startServer(handler http.Handler) {
shutdownChan := make(chan bool)
shutdownTimeout, _ := config.GetInt("shutdown-timeout")
if shutdownTimeout == 0 {
shutdownTimeout = 10 * 60
}
idleTracker := newIdleTracker()
shutdown.Register(idleTracker)
shutdown.Register(&logTracker)
readTimeout, _ := config.GetInt("server:read-timeout")
writeTimeout, _ := config.GetInt("server:write-timeout")
listen, err := config.GetString("listen")
if err != nil {
fatal(err)
}
srv := &graceful.Server{
Timeout: time.Duration(shutdownTimeout) * time.Second,
Server: &http.Server{
ReadTimeout: time.Duration(readTimeout) * time.Second,
WriteTimeout: time.Duration(writeTimeout) * time.Second,
Addr: listen,
Handler: handler,
},
ConnState: func(conn net.Conn, state http.ConnState) {
idleTracker.trackConn(conn, state)
},
NoSignalHandling: true,
ShutdownInitiated: func() {
fmt.Println("tsuru is shutting down, waiting for pending connections to finish.")
handlers := shutdown.All()
wg := sync.WaitGroup{}
for _, h := range handlers {
wg.Add(1)
go func(h shutdown.Shutdownable) {
defer wg.Done()
fmt.Printf("running shutdown handler for %v...\n", h)
h.Shutdown()
fmt.Printf("running shutdown handler for %v. DONE.\n", h)
}(h)
}
wg.Wait()
close(shutdownChan)
},
}
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
go func() {
<-sigChan
srv.Stop(srv.Timeout)
}()
var startupMessage string
routers, err := router.List()
if err != nil {
fatal(err)
}
for _, routerDesc := range routers {
var r router.Router
r, err = router.Get(routerDesc.Name)
if err != nil {
fatal(err)
}
fmt.Printf("Registered router %q", routerDesc.Name)
if messageRouter, ok := r.(router.MessageRouter); ok {
startupMessage, err = messageRouter.StartupMessage()
if err == nil && startupMessage != "" {
fmt.Printf(": %s", startupMessage)
}
}
fmt.Println()
}
defaultRouter, _ := config.GetString("docker:router")
fmt.Printf("Default router is %q.\n", defaultRouter)
repoManager, err := config.GetString("repo-manager")
if err != nil {
repoManager = "gandalf"
fmt.Println("Warning: configuration didn't declare a repository manager, using default manager.")
}
fmt.Printf("Using %q repository manager.\n", repoManager)
err = rebuild.RegisterTask(appFinder)
if err != nil {
fatal(err)
}
scheme, err := getAuthScheme()
if err != nil {
fmt.Printf("Warning: configuration didn't declare auth:scheme, using default scheme.\n")
}
app.AuthScheme, err = auth.GetScheme(scheme)
if err != nil {
fatal(err)
}
fmt.Printf("Using %q auth scheme.\n", scheme)
err = provision.InitializeAll()
if err != nil {
fatal(err)
}
_, err = healer.Initialize()
if err != nil {
fatal(err)
}
fmt.Println("Checking components status:")
//.........这里部分代码省略.........