Skip to content

Commit b0627fd

Browse files
committed
fix(api): set Referer and Origin headers to make polling work
1 parent d56c42e commit b0627fd

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/elmo/api/client.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ def __init__(self, base_url=None, domain=None, session_id=None):
4646
self._router = Router(base_url)
4747
self._domain = domain
4848
self._session = Session()
49+
self._session.headers.update(
50+
{
51+
"Referer": "https://webservice.elmospa.com/",
52+
"Origin": "https://webservice.elmospa.com",
53+
}
54+
)
55+
4956
self._session_id = session_id
5057
self._panel = None
5158
self._lock = Lock()

tests/test_client.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2657,3 +2657,14 @@ def test_client_query_last_id_value_error_empty(server, mocker):
26572657
# Test
26582658
inputs = client.query(query.INPUTS)
26592659
assert inputs["last_id"] == 0
2660+
2661+
2662+
def test_client_constructor_sets_required_headers():
2663+
"""Should set required Referer and Origin headers during initialization otherwise
2664+
polling will fail.
2665+
Regression test for: https://github.com/palazzem/econnect-python/issues/158
2666+
"""
2667+
# Test with default base URL
2668+
client_default = ElmoClient()
2669+
assert client_default._session.headers["Referer"] == "https://webservice.elmospa.com/"
2670+
assert client_default._session.headers["Origin"] == "https://webservice.elmospa.com"

0 commit comments

Comments
 (0)