import json import importlib session_manager = importlib.import_module('device-bound-session-credentials.session_manager') def main(request, response): test_session_manager = session_manager.find_for_request(request) use_single_header = json.loads(request.body.decode('utf-8')).get("useSingleHeader") if use_single_header is None: return (400, response.headers, "") challenges = [] for session_id in session_manager.find_for_request(request).get_session_ids(): early_challenge = test_session_manager.get_early_challenge(session_id) if early_challenge is not None: challenges.append(("Sec-Session-Challenge", f'"{early_challenge}";id="{session_id}"')) if use_single_header: combined_challenges = [("Sec-Session-Challenge", ", ".join([challenge[1] for challenge in challenges]))] return (200, combined_challenges, "") else: return (200, challenges, "")