Skip to content

Commit a7db69b

Browse files
author
goebbert1
committed
add unix-socket support
1 parent 216d9e5 commit a7db69b

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

jupyter_rsession_proxy/__init__.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def get_system_user():
5151
return(user)
5252

5353
def setup_rserver():
54-
def _get_env(port):
54+
def _get_env(port, unix_socket):
5555
return dict(USER=get_system_user())
5656

5757
def db_config(db_dir):
@@ -83,7 +83,7 @@ def _get_www_frame_origin(default="same"):
8383
except Exception:
8484
return default
8585

86-
def _get_cmd(port):
86+
def _get_cmd(port, unix_socket):
8787
ntf = tempfile.NamedTemporaryFile()
8888

8989
# use mkdtemp() so the directory and its contents don't vanish when
@@ -95,7 +95,6 @@ def _get_cmd(port):
9595
get_rstudio_executable('rserver'),
9696
'--auth-none=1',
9797
'--www-frame-origin=' + _get_www_frame_origin(),
98-
'--www-port=' + str(port),
9998
'--www-verify-user-agent=0',
10099
'--secure-cookie-key-file=' + ntf.name,
101100
'--server-user=' + get_system_user(),
@@ -109,6 +108,14 @@ def _get_cmd(port):
109108
if _support_arg('database-config-file'):
110109
cmd.append(f'--database-config-file={database_config_file}')
111110

111+
if unix_socket != "":
112+
if _support_arg('www-socket'):
113+
cmd.append('--www-socket={unix_socket}')
114+
else:
115+
raise NotImplementedError(f'rstudio-server does not support requested socket connection')
116+
else:
117+
cmd.append('--www-port={port}')
118+
112119
return cmd
113120

114121
def _get_timeout(default=15):
@@ -127,6 +134,9 @@ def _get_timeout(default=15):
127134
'icon_path': get_icon_path()
128135
}
129136
}
137+
if os.getenv('RSERVER_USE_SOCKET'):
138+
server_process['unix_socket'] = True
139+
130140
return server_process
131141

132142
def setup_rsession():

0 commit comments

Comments
 (0)