func (cmd *Push) processDomainsAndBindRoutes( appParams models.AppParams, routeActor actors.RouteActor, app models.Application, domain models.DomainFields, ) { if appParams.IsHostEmpty() { cmd.createAndBindRoute( nil, appParams.UseRandomRoute, appParams.UseRandomPort, routeActor, app, appParams.NoHostname, domain, appParams.RoutePath, ) } else { for _, host := range *(appParams.Hosts) { cmd.createAndBindRoute( &host, appParams.UseRandomRoute, appParams.UseRandomPort, routeActor, app, appParams.NoHostname, domain, appParams.RoutePath, ) } } }
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) } } } }
func (cmd *Push) updateRoutes(app models.Application, appParams models.AppParams, appParamsFromContext models.AppParams) error { defaultRouteAcceptable := len(app.Routes) == 0 routeDefined := appParams.Domains != nil || !appParams.IsHostEmpty() || appParams.IsNoHostnameTrue() switch { case 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 { err := cmd.routeActor.UnbindAll(app) if err != nil { return err } } case len(appParams.Routes) > 0: for _, manifestRoute := range appParams.Routes { err := cmd.actor.MapManifestRoute(manifestRoute.Route, app, appParamsFromContext) if err != nil { return err } } case (routeDefined || defaultRouteAcceptable) && appParams.Domains == nil: domain, err := cmd.findDomain(nil) if err != nil { return err } appParams.UseRandomPort = isTCP(domain) err = cmd.processDomainsAndBindRoutes(appParams, app, domain) if err != nil { return err } case routeDefined || defaultRouteAcceptable: for _, d := range appParams.Domains { domain, err := cmd.findDomain(&d) if err != nil { return err } appParams.UseRandomPort = isTCP(domain) err = cmd.processDomainsAndBindRoutes(appParams, app, domain) if err != nil { return err } } } return nil }
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 { cmd.removeRoutes(app, routeActor) return } if routeDefined || defaultRouteAcceptable { if appParams.Domains == nil { cmd.processDomainsAndBindRoutes(appParams, routeActor, app, cmd.findDomain(nil)) } else { for _, d := range *(appParams.Domains) { cmd.processDomainsAndBindRoutes(appParams, routeActor, app, cmd.findDomain(&d)) } } } }
func (cmd *Push) processDomainsAndBindRoutes( appParams models.AppParams, app models.Application, domain models.DomainFields, ) error { if appParams.IsHostEmpty() { err := cmd.createAndBindRoute( nil, appParams.UseRandomRoute, appParams.UseRandomPort, app, appParams.IsNoHostnameTrue(), domain, appParams.RoutePath, ) if err != nil { return err } } else { for _, host := range appParams.Hosts { err := cmd.createAndBindRoute( &host, appParams.UseRandomRoute, appParams.UseRandomPort, app, appParams.IsNoHostnameTrue(), domain, appParams.RoutePath, ) if err != nil { return err } } } return nil }