@@ -21,6 +21,7 @@ type RouteSummary struct {
2121 resources.Route
2222 AppNames []string
2323 AppProtocols []string
24+ AppPorts []string
2425 DomainName string
2526 SpaceName string
2627 ServiceInstanceName string
@@ -279,9 +280,13 @@ func (actor Actor) GetRouteSummaries(routes []resources.Route) ([]RouteSummary,
279280 var appNames []string
280281
281282 protocolSet := map [string ]bool {}
283+ portSet := map [int ]bool {}
282284 for _ , destination := range route .Destinations {
283285 appNames = append (appNames , appNamesByGUID [destination .App .GUID ])
284286 protocolSet [destination .Protocol ] = true
287+ if destination .Port > 0 {
288+ portSet [destination .Port ] = true
289+ }
285290 }
286291
287292 var appProtocols []string
@@ -293,10 +298,20 @@ func (actor Actor) GetRouteSummaries(routes []resources.Route) ([]RouteSummary,
293298 sort .Strings (appProtocols )
294299 }
295300
301+ var appPorts []string
302+ if len (portSet ) > 0 {
303+ appPorts = make ([]string , 0 , len (portSet ))
304+ for key := range portSet {
305+ appPorts = append (appPorts , strconv .Itoa (key ))
306+ }
307+ sort .Strings (appPorts )
308+ }
309+
296310 routeSummaries = append (routeSummaries , RouteSummary {
297311 Route : route ,
298312 AppNames : appNames ,
299313 AppProtocols : appProtocols ,
314+ AppPorts : appPorts ,
300315 SpaceName : spaceNamesByGUID [route .SpaceGUID ],
301316 DomainName : getDomainName (route .URL , route .Host , route .Path , route .Port ),
302317 ServiceInstanceName : serviceInstanceNameByRouteGUID [route .GUID ],
@@ -397,8 +412,8 @@ func (actor Actor) GetRouteByAttributes(domain resources.Domain, hostname string
397412 return routes [0 ], Warnings (ccWarnings ), nil
398413}
399414
400- func (actor Actor ) MapRoute (routeGUID string , appGUID string , destinationProtocol string ) (Warnings , error ) {
401- warnings , err := actor .CloudControllerClient .MapRoute (routeGUID , appGUID , destinationProtocol )
415+ func (actor Actor ) MapRoute (routeGUID string , appGUID string , destinationProtocol string , destinationPort int ) (Warnings , error ) {
416+ warnings , err := actor .CloudControllerClient .MapRoute (routeGUID , appGUID , destinationProtocol , destinationPort )
402417 return Warnings (warnings ), err
403418}
404419
0 commit comments