Skip to content

Commit 59b87f4

Browse files
committed
add unix-socket support
1 parent ea7a898 commit 59b87f4

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

jupyter_openvscodeserver_proxy/__init__.py

+17-8
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ def get_system_user():
2020
user = os.getenv('NB_USER', getpass.getuser())
2121
return(user)
2222

23-
2423
def setup_openvscodeserver():
2524

2625
# return path to openvscode executable
@@ -64,7 +63,7 @@ def _get_urlparams():
6463
return url_params
6564

6665
# return command
67-
def _get_cmd(port):
66+
def _get_cmd(port, unix_socket):
6867

6968
# generate file with random one-time-token
7069
from tempfile import mkstemp
@@ -82,20 +81,21 @@ def _get_cmd(port):
8281
cmd = [
8382
_get_executable('openvscode-server'),
8483
# '--host=<ip-address>',
85-
'--port={port}',
86-
# '--socket-path=<path>',
8784
'--server-base-path={}'.format(_get_urlprefix()),
88-
# '--connection-token=<token>',
8985
'--connection-token-file={}'.format(fpath_token),
90-
# '--without-connection-token',
9186
'--accept-server-license-terms',
92-
# '--server-data-dir=<dir>',
9387
'--disable-telemetry',
94-
# '--default-folder=<dir',
88+
# '--default-folder=<dir>',
89+
# '--server-data-dir=<dir>',
9590
# '--user-data-dir=<dir>',
9691
# '--extensions-dir=<dir>',
9792
# '--log=<level>',
9893
]
94+
if unix_socket != "":
95+
cmd.append('--socket-path={unix_socket}')
96+
else:
97+
cmd.append('--port={port}')
98+
9999
logger.info('OpenVSCode-Server command: ' + ' '.join(cmd))
100100
return cmd
101101

@@ -138,4 +138,13 @@ def _get_pathinfo():
138138
}
139139
}
140140

141+
use_socket = os.getenv('JUPYTER_OPENVSCODE_PROXY_USE_SOCKET')
142+
if use_socket is not None:
143+
# If this env var is anything other than case insensitive 'no' or 'false',
144+
# use unix sockets instead of tcp sockets. This allows us to default to
145+
# using unix sockets by default in the future once this feature is better
146+
# tested, and allow people to turn it off if needed.
147+
if use_socket.casefold() not in ('no', 'false'):
148+
server_process['unix_socket'] = True
149+
141150
return server_process

0 commit comments

Comments
 (0)