From 8e7afa2edf4e2747eed1fcff0bb3325a09226a0c Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Mon, 1 Jul 2019 13:31:30 +0200 Subject: [PATCH] Move request counter into State model --- fbchat/_client.py | 4 ---- fbchat/_state.py | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/fbchat/_client.py b/fbchat/_client.py index 4ea7646..05404fc 100644 --- a/fbchat/_client.py +++ b/fbchat/_client.py @@ -105,8 +105,6 @@ class Client(object): def _generatePayload(self, query): if not query: query = {} - query["__req"] = str_base(self._req_counter, 36) - self._req_counter += 1 query.update(self._state.get_params()) return query @@ -188,7 +186,6 @@ class Client(object): ) def _cleanPost(self, url, query=None): - self._req_counter += 1 return self._session.post( prefix_url(url), headers=self._header, data=query, verify=self.ssl_verify ) @@ -267,7 +264,6 @@ class Client(object): def _resetValues(self): self._state = State() self._session = requests.session() - self._req_counter = 1 self._seq = "0" self._uid = None diff --git a/fbchat/_state.py b/fbchat/_state.py index a72f558..a5892e9 100644 --- a/fbchat/_state.py +++ b/fbchat/_state.py @@ -12,12 +12,15 @@ class State(object): fb_dtsg = attr.ib(None) _revision = attr.ib(None) + _counter = attr.ib(0) def get_params(self): if self.fb_dtsg is None: return {} + self._counter += 1 # TODO: Make this operation atomic / thread-safe return { "__a": 1, + "__req": _util.str_base(self._counter, 36), "__rev": self._revision, "fb_dtsg": self.fb_dtsg, }