コード例 #1
0
ファイル: push.go プロジェクト: palakmathur/cli
func (cmd *Push) removeRoutes(app models.Application, routeActor actors.RouteActor) {
	if len(app.Routes) == 0 {
		cmd.ui.Say("App %s is a worker, skipping route creation", terminal.EntityNameColor(app.Name))
	} else {
		routeActor.UnbindAll(app)
	}
}
コード例 #2
0
ファイル: push.go プロジェクト: yingkitw/cli
func (cmd *Push) updateRoutes(routeActor actors.RouteActor, app models.Application, appParams models.AppParams) {
	defaultRouteAcceptable := len(app.Routes) == 0
	routeDefined := appParams.Domains != nil || !appParams.IsHostEmpty() || appParams.NoHostname

	if appParams.NoRoute {
		if len(app.Routes) == 0 {
			cmd.ui.Say(T("App {{.AppName}} is a worker, skipping route creation",
				map[string]interface{}{"AppName": terminal.EntityNameColor(app.Name)}))
		} else {
			routeActor.UnbindAll(app)
		}
		return
	}

	if routeDefined || defaultRouteAcceptable {
		if appParams.Domains == nil {
			domain := cmd.findDomain(nil)
			appParams.UseRandomPort = isTcp(domain)
			cmd.processDomainsAndBindRoutes(appParams, routeActor, app, domain)
		} else {
			for _, d := range *(appParams.Domains) {
				domain := cmd.findDomain(&d)
				appParams.UseRandomPort = isTcp(domain)
				cmd.processDomainsAndBindRoutes(appParams, routeActor, app, domain)
			}
		}
	}
}
コード例 #3
0
ファイル: push.go プロジェクト: ramirito/cli
func (cmd *Push) removeRoutes(app models.Application, routeActor actors.RouteActor) {
	if len(app.Routes) == 0 {
		cmd.ui.Say(T("App {{.AppName}} is a worker, skipping route creation",
			map[string]interface{}{"AppName": terminal.EntityNameColor(app.Name)}))
	} else {
		routeActor.UnbindAll(app)
	}
}
コード例 #4
0
ファイル: push.go プロジェクト: ramirito/cli
func (cmd *Push) updateRoutes(routeActor actors.RouteActor, app models.Application, appParams models.AppParams, noHostName bool) {
	defaultRouteAcceptable := len(app.Routes) == 0
	routeDefined := appParams.Domain != nil || appParams.Host != nil || noHostName

	domain := cmd.findDomain(appParams.Domain)
	hostname := cmd.hostnameForApp(appParams.Host, appParams.UseRandomHostname, app.Name, noHostName)

	if appParams.NoRoute {
		cmd.removeRoutes(app, routeActor)
	} else if routeDefined || defaultRouteAcceptable {
		route := routeActor.FindOrCreateRoute(hostname, domain)
		routeActor.BindRoute(app, route)
	}
}
コード例 #5
0
ファイル: push.go プロジェクト: yingkitw/cli
func (cmd *Push) createAndBindRoute(
	host *string,
	UseRandomRoute bool,
	UseRandomPort bool,
	routeActor actors.RouteActor,
	app models.Application,
	noHostName bool,
	domain models.DomainFields,
	routePath *string,
) {
	var hostname string
	if !noHostName {
		switch {
		case host != nil:
			hostname = *host
		case UseRandomPort:
			//do nothing
		case UseRandomRoute:
			hostname = hostNameForString(app.Name) + "-" + cmd.wordGenerator.Babble()
		default:
			hostname = hostNameForString(app.Name)
		}
	}

	var route models.Route
	if routePath != nil {
		route = routeActor.FindOrCreateRoute(hostname, domain, *routePath, UseRandomPort)
	} else {
		route = routeActor.FindOrCreateRoute(hostname, domain, "", UseRandomPort)
	}
	routeActor.BindRoute(app, route)
}
コード例 #6
0
ファイル: push.go プロジェクト: plamenai/cli
func (cmd *Push) createAndBindRoute(host *string, UseRandomHostname bool, routeActor actors.RouteActor, app models.Application, noHostName bool, domain models.DomainFields, routePath *string) {
	hostname := cmd.hostnameForApp(host, UseRandomHostname, app.Name, noHostName)
	var route models.Route
	if routePath != nil {
		route = routeActor.FindOrCreateRoute(hostname, domain, *routePath)
	} else {
		route = routeActor.FindOrCreateRoute(hostname, domain, "")
	}
	routeActor.BindRoute(app, route)
}
コード例 #7
0
ファイル: push.go プロジェクト: 0976254669/cli
func (cmd *Push) createAndBindRoute(host *string, UseRandomHostname bool, routeActor actors.RouteActor, app models.Application, noHostName bool, domain models.DomainFields) {
	hostname := cmd.hostnameForApp(host, UseRandomHostname, app.Name, noHostName)
	route := routeActor.FindOrCreateRoute(hostname, domain)
	routeActor.BindRoute(app, route)
}
コード例 #8
0
ファイル: push.go プロジェクト: vframbach/cli
func (cmd *Push) createAndBindRoute(host *string, UseRandomHostname bool, routeActor actors.RouteActor, app models.Application, noHostName bool, domain models.DomainFields) {
	hostname := cmd.hostnameForApp(host, UseRandomHostname, app.Name, noHostName)
	path := "" // not currently configurable in the manifest
	route := routeActor.FindOrCreateRoute(hostname, domain, path)
	routeActor.BindRoute(app, route)
}