Skip to content

Commit cafd263

Browse files
Kevin Bateskevin-bates
authored andcommitted
Refactor cookie handling to facilitate improved testing
1 parent b847905 commit cafd263

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

jupyter_server/gateway/gateway_client.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -630,11 +630,17 @@ def load_connection_args(self, **kwargs):
630630

631631
return kwargs
632632

633-
def update_cookies(self, cookie: SimpleCookie) -> None:
634-
"""Update cookies from existing requests for load balancers"""
633+
def update_cookies(self, headers: dict) -> None:
634+
"""Update cookies from response headers for load balancers"""
635635
if not self.accept_cookies:
636636
return
637637

638+
# Create a SimpleCookie from the Set-Cookie header
639+
cookie = SimpleCookie()
640+
set_cookie = headers.get('Set-Cookie')
641+
if set_cookie:
642+
cookie.load(set_cookie)
643+
638644
store_time = datetime.now(tz=timezone.utc)
639645
for key, item in cookie.items():
640646
# Convert "expires" arg into "max-age" to facilitate expiration management.
@@ -820,11 +826,7 @@ async def gateway_request(endpoint: str, **kwargs: ty.Any) -> HTTPResponse:
820826
)
821827
raise e
822828

823-
if gateway_client.accept_cookies:
824-
# Update cookies on GatewayClient from server if configured.
825-
cookie_values = response.headers.get("Set-Cookie")
826-
if cookie_values:
827-
cookie: SimpleCookie = SimpleCookie()
828-
cookie.load(cookie_values)
829-
gateway_client.update_cookies(cookie)
829+
830+
gateway_client.update_cookies(response.headers)
831+
830832
return response

0 commit comments

Comments
 (0)