Remove Client._generatePayload

Make Client._get and Client._post require a query input
This commit is contained in:
Mads Marquart
2019-07-25 20:20:26 +02:00
parent 0389b838bc
commit 2f4e3f2bb1

View File

@@ -108,21 +108,15 @@ class Client(object):
INTERNAL REQUEST METHODS INTERNAL REQUEST METHODS
""" """
def _generatePayload(self, query):
if not query:
query = {}
query.update(self._state.get_params())
return query
def _do_refresh(self): def _do_refresh(self):
# TODO: Raise the error instead, and make the user do the refresh manually # TODO: Raise the error instead, and make the user do the refresh manually
# It may be a bad idea to do this in an exception handler, if you have a better method, please suggest it! # It may be a bad idea to do this in an exception handler, if you have a better method, please suggest it!
log.warning("Refreshing state and resending request") log.warning("Refreshing state and resending request")
self._state = State.from_session(session=self._state._session) self._state = State.from_session(session=self._state._session)
def _get(self, url, query=None, error_retries=3): def _get(self, url, params, error_retries=3):
payload = self._generatePayload(query) params.update(self._state.get_params())
r = self._state._session.get(prefix_url(url), params=payload) r = self._state._session.get(prefix_url(url), params=params)
content = check_request(r) content = check_request(r)
j = to_json(content) j = to_json(content)
try: try:
@@ -130,13 +124,13 @@ class Client(object):
except FBchatPleaseRefresh: except FBchatPleaseRefresh:
if error_retries > 0: if error_retries > 0:
self._do_refresh() self._do_refresh()
return self._get(url, query=query, error_retries=error_retries - 1) return self._get(url, params, error_retries=error_retries - 1)
raise raise
return j return j
def _post(self, url, query=None, files=None, as_graphql=False, error_retries=3): def _post(self, url, data, files=None, as_graphql=False, error_retries=3):
payload = self._generatePayload(query) data.update(self._state.get_params())
r = self._state._session.post(prefix_url(url), data=payload, files=files) r = self._state._session.post(prefix_url(url), data=data, files=files)
content = check_request(r) content = check_request(r)
try: try:
if as_graphql: if as_graphql:
@@ -152,7 +146,7 @@ class Client(object):
self._do_refresh() self._do_refresh()
return self._post( return self._post(
url, url,
query=query, data,
files=files, files=files,
as_graphql=as_graphql, as_graphql=as_graphql,
error_retries=error_retries - 1, error_retries=error_retries - 1,
@@ -930,7 +924,7 @@ class Client(object):
Raises: Raises:
FBchatException: If request failed FBchatException: If request failed
""" """
j = self._payload_post("/mercury/unseen_thread_ids/", None) j = self._payload_post("/mercury/unseen_thread_ids/", {})
result = j["unseen_thread_fbids"][0] result = j["unseen_thread_fbids"][0]
return result["thread_fbids"] + result["other_user_fbids"] return result["thread_fbids"] + result["other_user_fbids"]