From 266aa5e309f7abf496f4827126a7777d943c0c84 Mon Sep 17 00:00:00 2001 From: Brad Murray Date: Wed, 31 Jan 2024 19:14:46 -0500 Subject: [PATCH] Fix all_headers provisioning API --- linkedin_matrix/web/provisioning_api.py | 11 +++++++++-- linkedin_messaging/linkedin.py | 6 +++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/linkedin_matrix/web/provisioning_api.py b/linkedin_matrix/web/provisioning_api.py index 627d576..4d22dc2 100644 --- a/linkedin_matrix/web/provisioning_api.py +++ b/linkedin_matrix/web/provisioning_api.py @@ -106,8 +106,15 @@ def parse_cookies(c): cookie_dict[key] = val if "all_headers" in req_data: - parse_cookies(req_data.pop("Cookie", req_data.pop("cookie", ""))) - headers = req_data + all_headers = req_data["all_headers"] + parse_cookies(all_headers.pop("Cookie", all_headers.pop("cookie", ""))) + + # We never want the accept header, skip it + all_headers.pop("Accept") + all_headers.pop("accept") + + # Save the rest of the headers + headers = all_headers elif "cookie_header" in req_data: parse_cookies(req_data["cookie_header"]) elif "li_at" in req_data and "JSESSIONID" in req_data: diff --git a/linkedin_messaging/linkedin.py b/linkedin_messaging/linkedin.py index 3ee52df..0130de5 100644 --- a/linkedin_messaging/linkedin.py +++ b/linkedin_messaging/linkedin.py @@ -158,9 +158,9 @@ def from_cookies_and_headers(cookies: dict[str, str], # Skip these headers, including them will result in events being received in a newer # format that we don't support - linkedin.headers.pop("x-li-query-map", None) - linkedin.headers.pop("x-li-query-accept", None) - linkedin.headers.pop("x-li-accept", None) + linkedin.headers.pop("x-li-query-map") + linkedin.headers.pop("x-li-query-accept") + linkedin.headers.pop("x-li-accept") return linkedin