@@ -20,7 +20,6 @@ def get_system_user():
20
20
user = os .getenv ('NB_USER' , getpass .getuser ())
21
21
return (user )
22
22
23
-
24
23
def setup_openvscodeserver ():
25
24
26
25
# return path to openvscode executable
@@ -64,7 +63,7 @@ def _get_urlparams():
64
63
return url_params
65
64
66
65
# return command
67
- def _get_cmd (port ):
66
+ def _get_cmd (port , unix_socket ):
68
67
69
68
# generate file with random one-time-token
70
69
from tempfile import mkstemp
@@ -82,20 +81,21 @@ def _get_cmd(port):
82
81
cmd = [
83
82
_get_executable ('openvscode-server' ),
84
83
# '--host=<ip-address>',
85
- '--port={port}' ,
86
- # '--socket-path=<path>',
87
84
'--server-base-path={}' .format (_get_urlprefix ()),
88
- # '--connection-token=<token>',
89
85
'--connection-token-file={}' .format (fpath_token ),
90
- # '--without-connection-token',
91
86
'--accept-server-license-terms' ,
92
- # '--server-data-dir=<dir>',
93
87
'--disable-telemetry' ,
94
- # '--default-folder=<dir',
88
+ # '--default-folder=<dir>',
89
+ # '--server-data-dir=<dir>',
95
90
# '--user-data-dir=<dir>',
96
91
# '--extensions-dir=<dir>',
97
92
# '--log=<level>',
98
93
]
94
+ if unix_socket != "" :
95
+ cmd .append ('--socket-path={unix_socket}' )
96
+ else :
97
+ cmd .append ('--port={port}' )
98
+
99
99
logger .info ('OpenVSCode-Server command: ' + ' ' .join (cmd ))
100
100
return cmd
101
101
@@ -138,4 +138,13 @@ def _get_pathinfo():
138
138
}
139
139
}
140
140
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
+
141
150
return server_process
0 commit comments