(app models.Application, appParams models.AppParams, appParamsFromContext models.AppParams)
| 333 | } |
| 334 | |
| 335 | func (cmd *Push) updateRoutes(app models.Application, appParams models.AppParams, appParamsFromContext models.AppParams) error { |
| 336 | defaultRouteAcceptable := len(app.Routes) == 0 |
| 337 | routeDefined := appParams.Domains != nil || !appParams.IsHostEmpty() || appParams.IsNoHostnameTrue() |
| 338 | |
| 339 | switch { |
| 340 | case appParams.NoRoute: |
| 341 | if len(app.Routes) == 0 { |
| 342 | cmd.ui.Say(T("App {{.AppName}} is a worker, skipping route creation", |
| 343 | map[string]interface{}{"AppName": terminal.EntityNameColor(app.Name)})) |
| 344 | } else { |
| 345 | err := cmd.routeActor.UnbindAll(app) |
| 346 | if err != nil { |
| 347 | return err |
| 348 | } |
| 349 | } |
| 350 | case len(appParams.Routes) > 0: |
| 351 | for _, manifestRoute := range appParams.Routes { |
| 352 | err := cmd.actor.MapManifestRoute(manifestRoute.Route, app, appParamsFromContext) |
| 353 | if err != nil { |
| 354 | return err |
| 355 | } |
| 356 | } |
| 357 | case (routeDefined || defaultRouteAcceptable) && appParams.Domains == nil: |
| 358 | domain, err := cmd.findDomain(nil) |
| 359 | if err != nil { |
| 360 | return err |
| 361 | } |
| 362 | appParams.UseRandomPort = isTCP(domain) |
| 363 | err = cmd.processDomainsAndBindRoutes(appParams, app, domain) |
| 364 | if err != nil { |
| 365 | return err |
| 366 | } |
| 367 | case routeDefined || defaultRouteAcceptable: |
| 368 | for _, d := range appParams.Domains { |
| 369 | domain, err := cmd.findDomain(&d) |
| 370 | if err != nil { |
| 371 | return err |
| 372 | } |
| 373 | appParams.UseRandomPort = isTCP(domain) |
| 374 | err = cmd.processDomainsAndBindRoutes(appParams, app, domain) |
| 375 | if err != nil { |
| 376 | return err |
| 377 | } |
| 378 | } |
| 379 | } |
| 380 | return nil |
| 381 | } |
| 382 | |
| 383 | const TCP = "tcp" |
| 384 |
no test coverage detected