@@ -99,35 +99,43 @@ abstract class AbstractGitpodPortForwardingService : GitpodPortForwardingService
9999 return completableFuture
100100 }
101101
102+ private fun isPortExposingEnabled (): Boolean {
103+ return System .getenv(" GITPOD_DISABLE_JETBRAINS_PORT_EXPOSE" )?.toBoolean() ? : true
104+ }
105+
102106 private fun syncPortsListWithClient (response : Status .PortsStatusResponse ) {
103- // val ignoredPorts = ignoredPortsForNotificationService.getIgnoredPorts()
104- // val portsList = response.portsList.filter { !ignoredPorts.contains(it.localPort) }
105- // val portsNumbersFromPortsList = portsList.map { it.localPort }
106- // val servedPorts = portsList.filter { it.served }
107- // val exposedPorts = servedPorts.filter { it.exposed?.url?.isNotBlank() ?: false }
108- // val portsNumbersFromNonServedPorts = portsList.filter { !it.served }.map { it.localPort }
109- // val servedPortsToStartForwarding = servedPorts.filter {
110- // perClientPortForwardingManager.getPorts(it.localPort).none { p -> p.labels.contains(FORWARDED_PORT_LABEL) }
111- // }
112- // val exposedPortsToStartExposingOnClient = exposedPorts.filter {
113- // perClientPortForwardingManager.getPorts(it.localPort).none { p -> p.labels.contains(EXPOSED_PORT_LABEL) }
114- // }
115- // val forwardedPortsToStopForwarding = perClientPortForwardingManager.getPorts(FORWARDED_PORT_LABEL)
116- // .map { it.hostPortNumber }
117- // .filter { portsNumbersFromNonServedPorts.contains(it) || !portsNumbersFromPortsList.contains(it) }
118- // val exposedPortsToStopExposingOnClient = perClientPortForwardingManager.getPorts(EXPOSED_PORT_LABEL)
119- // .map { it.hostPortNumber }
120- // .filter { portsNumbersFromNonServedPorts.contains(it) || !portsNumbersFromPortsList.contains(it) }
121- //
122- // servedPortsToStartForwarding.forEach { startForwarding(it) }
123- //
124- // exposedPortsToStartExposingOnClient.forEach { startExposingOnClient(it) }
125- //
126- // forwardedPortsToStopForwarding.forEach { stopForwarding(it) }
127- //
128- // exposedPortsToStopExposingOnClient.forEach { stopExposingOnClient(it) }
129- //
130- // portsList.forEach { updatePortsPresentation(it) }
107+ if (! isPortExposingEnabled()) {
108+ thisLogger().warn(" gitpod: Port exposing is disabled." )
109+ return
110+ }
111+ val ignoredPorts = ignoredPortsForNotificationService.getIgnoredPorts()
112+ val portsList = response.portsList.filter { ! ignoredPorts.contains(it.localPort) }
113+ val portsNumbersFromPortsList = portsList.map { it.localPort }
114+ val servedPorts = portsList.filter { it.served }
115+ val exposedPorts = servedPorts.filter { it.exposed?.url?.isNotBlank() ? : false }
116+ val portsNumbersFromNonServedPorts = portsList.filter { ! it.served }.map { it.localPort }
117+ val servedPortsToStartForwarding = servedPorts.filter {
118+ perClientPortForwardingManager.getPorts(it.localPort).none { p -> p.labels.contains(FORWARDED_PORT_LABEL ) }
119+ }
120+ val exposedPortsToStartExposingOnClient = exposedPorts.filter {
121+ perClientPortForwardingManager.getPorts(it.localPort).none { p -> p.labels.contains(EXPOSED_PORT_LABEL ) }
122+ }
123+ val forwardedPortsToStopForwarding = perClientPortForwardingManager.getPorts(FORWARDED_PORT_LABEL )
124+ .map { it.hostPortNumber }
125+ .filter { portsNumbersFromNonServedPorts.contains(it) || ! portsNumbersFromPortsList.contains(it) }
126+ val exposedPortsToStopExposingOnClient = perClientPortForwardingManager.getPorts(EXPOSED_PORT_LABEL )
127+ .map { it.hostPortNumber }
128+ .filter { portsNumbersFromNonServedPorts.contains(it) || ! portsNumbersFromPortsList.contains(it) }
129+
130+ servedPortsToStartForwarding.forEach { startForwarding(it) }
131+
132+ exposedPortsToStartExposingOnClient.forEach { startExposingOnClient(it) }
133+
134+ forwardedPortsToStopForwarding.forEach { stopForwarding(it) }
135+
136+ exposedPortsToStopExposingOnClient.forEach { stopExposingOnClient(it) }
137+
138+ portsList.forEach { updatePortsPresentation(it) }
131139 }
132140
133141 private fun startForwarding (portStatus : PortsStatus ) {
0 commit comments