MCPcopy Index your code
hub / github.com/cloudfoundry/cli / Execute

Method Execute

command/v7/map_route_command.go:45–162  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

43}
44
45func (cmd MapRouteCommand) Execute(args []string) error {
46 err := cmd.SharedActor.CheckTarget(true, true)
47 if err != nil {
48 return err
49 }
50
51 user, err := cmd.Actor.GetCurrentUser()
52 if err != nil {
53 return err
54 }
55
56 domain, warnings, err := cmd.Actor.GetDomainByName(cmd.RequiredArgs.Domain)
57 cmd.UI.DisplayWarnings(warnings)
58 if err != nil {
59 return err
60 }
61
62 spaceGUID := cmd.Config.TargetedSpace().GUID
63 app, warnings, err := cmd.Actor.GetApplicationByNameAndSpace(cmd.RequiredArgs.App, spaceGUID)
64 cmd.UI.DisplayWarnings(warnings)
65 if err != nil {
66 return err
67 }
68
69 path := cmd.Path.Path
70 route, warnings, err := cmd.Actor.GetRouteByAttributes(domain, cmd.Hostname, path, cmd.Port)
71
72 url := desiredURL(domain.Name, cmd.Hostname, path, cmd.Port)
73 cmd.UI.DisplayWarnings(warnings)
74 if err != nil {
75 if _, ok := err.(actionerror.RouteNotFoundError); !ok {
76 return err
77 }
78
79 var routeOptions map[string]*string
80 if len(cmd.Options) > 0 && cmd.validateAPIVersionForPerRouteOptions() == nil {
81 var wrongOptSpec *string
82 routeOptions, wrongOptSpec = resources.CreateRouteOptions(cmd.Options)
83 if wrongOptSpec != nil {
84 return actionerror.RouteOptionError{
85 Name: *wrongOptSpec,
86 DomainName: domain.Name,
87 Path: path,
88 Host: cmd.Hostname,
89 }
90 }
91 }
92
93 cmd.UI.DisplayTextWithFlavor("Creating route {{.URL}} for org {{.OrgName}} / space {{.SpaceName}} as {{.User}}...",
94 map[string]interface{}{
95 "URL": url,
96 "User": user.Name,
97 "SpaceName": cmd.Config.TargetedSpace().Name,
98 "OrgName": cmd.Config.TargetedOrganization().Name,
99 })
100
101 route, warnings, err = cmd.Actor.CreateRoute(
102 cmd.Config.TargetedSpace().GUID,

Callers

nothing calls this directly

Calls 15

CreateRouteOptionsFunction · 0.92
desiredURLFunction · 0.85
CheckTargetMethod · 0.65
GetCurrentUserMethod · 0.65
GetDomainByNameMethod · 0.65
DisplayWarningsMethod · 0.65
TargetedSpaceMethod · 0.65
GetRouteByAttributesMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
TargetedOrganizationMethod · 0.65

Tested by

no test coverage detected