Commit Graph

120 Commits

Author SHA1 Message Date
Mads Marquart
b5ba338f86 Remove fix_request parameter
The requests that don't need this parameter is handled in the State model
2019-07-01 22:49:21 +02:00
Mads Marquart
50bfeb92b2 Add fix_request=True and as_json=True to missing requests
I've tested, these endpoints actually all return JSON data
2019-07-01 22:47:05 +02:00
Mads Marquart
8d41ea5bfd Use POST in Client.fetchImageUrl
Reduces the amount of different request methods we're using.

Not really sure whether this is actually the best option:
- Each request includes `fb_dtsg` and such, so using POST everywhere might be the more secure option?
- But at the same time, the request is more opaque, and harder to debug (urllib3 logs all request urls automatically, so using GET would make that easy)
2019-07-01 18:43:00 +02:00
Mads Marquart
b10b14c8e9 Update url in Client.removeFriend 2019-07-01 18:23:03 +02:00
Mads Marquart
230c849b60 Always create the State object in a valid state 2019-07-01 13:31:42 +02:00
Mads Marquart
466f27a8c5 Move login check code into State 2019-07-01 13:31:42 +02:00
Mads Marquart
dc12e01fc7 Move logout code to State 2019-07-01 13:31:42 +02:00
Mads Marquart
d0e9a7f693 Move login/2fa code to State 2019-07-01 13:31:42 +02:00
Mads Marquart
1ba21e03c6 Handle headers in State 2019-07-01 13:31:42 +02:00
Mads Marquart
bcc8b44bb5 Handle ssl verification in State 2019-07-01 13:31:42 +02:00
Mads Marquart
b01b371c66 Refactor session cookie handling into State 2019-07-01 13:31:42 +02:00
Mads Marquart
94a0f6b3df Move client session into State 2019-07-01 13:31:42 +02:00
Mads Marquart
5df10ecc31 Remove _cleanGet and _cleanPost Client methods 2019-07-01 13:31:42 +02:00
Mads Marquart
56786406ec Refactor most of _postLogin into the State model 2019-07-01 13:31:42 +02:00
Mads Marquart
a4268f36cf Move logout h into the State model 2019-07-01 13:31:42 +02:00
Mads Marquart
8e7afa2edf Move request counter into State model 2019-07-01 13:31:30 +02:00
Mads Marquart
f07122d446 Move request payload into State model 2019-07-01 13:30:29 +02:00
Mads Marquart
77f28315c9 Inline urls from ReqUrl 2019-06-29 20:14:49 +02:00
Mads Marquart
e0754031ad Extract pull channel handling from ReqUrl 2019-06-29 20:10:55 +02:00
Mads Marquart
f97d36b41f Add ability to specify urls relative to www.facebook.com 2019-06-29 20:05:16 +02:00
Mads Marquart
bb2afe8e40 Remove redundant timeout parameter 2019-06-23 18:25:30 +02:00
Mads Marquart
faa0383af3 Remove unnecessary default payload attributes
This has been fairly thoroughly tested on all URLs, so it should be safe to do
2019-06-23 18:08:25 +02:00
Mads Marquart
8056f3399e Privatize Client.req_url
Undocumented
2019-06-23 17:40:20 +02:00
Mads Marquart
53c19f473b Remove utils.py
The file, and contained functions, were explicitly documented as something you couldn't rely on for backwards compatibility
2019-06-23 17:38:27 +02:00
Mads Marquart
78b5f05729 Fix search when the result is empty
Return an empty result instead of raising
2019-05-01 23:50:23 +02:00
Kacper Ziubryniewicz
3cd0f3a9a7 Add missing mid parameter in message parsing (#426) 2019-05-01 19:32:04 +02:00
Mads Marquart
f945fa80b3 Merge pull request #419 from carpedm20/remove-client-variables
Clean up `Client` variables
2019-04-25 22:45:45 +02:00
Kacper Ziubryniewicz
70faa86e34 Add forwarding attachments (#420)
- Add ability to forward attachments and `Message.forwarded` attribute
- Improve error handling for a lot of client methods, including, but not limited to:
    - `fetchAllUsers`
    - `searchForMessageIDs`
    - `search`
    - `fetchThreadInfo` and siblings
    - `fetchUnread`
    - `fetchUnseen`
    - `fetchPollOptions`
    - `fetchPlanInfo`
    - `send` and siblings
    - File uploads
2019-04-25 22:03:03 +02:00
Mads Marquart
bfca20bb12 Privatize req_counter, payloadDefault and seq client variables
These have complicated semantics, and so are hopefully not depended on externally
2019-04-17 23:24:01 +02:00
Mads Marquart
0fd86d05a1 Privatize sticky and pool client variables
These have complicated semantics, and so are hopefully not depended on externally
2019-04-17 23:22:54 +02:00
Mads Marquart
c688d64062 Make Client.uid read-only
Modifying `uid` was previously documented as giving undefined behaviour, now it'll throw an error
2019-04-17 23:22:23 +02:00
Mads Marquart
2f973f129d Privatize default_thread_X client variables
We have a setter method for them, so there should be no need to access these directly!
2019-04-17 23:20:08 +02:00
Mads Marquart
9b81365b0a Privatize fb_h and client_id variables
These are sparsely used and badly named, so probably not externally depended on externally
2019-04-17 23:20:08 +02:00
Mads Marquart
a079797fca Remove email/password client variables 2019-04-17 23:18:37 +02:00
Mads Marquart
6ab298f6e8 Remove temporary _postLogin variables from the client 2019-04-17 23:18:37 +02:00
Mads Marquart
a159999879 Remove redundant client variables 2019-04-17 23:18:37 +02:00
Mads Marquart
86a6e07804 Merge branch 'master' into refactor-model-parsing 2019-04-17 22:42:20 +02:00
Kacper Ziubryniewicz
73c6be1969 Add message parameter to sending location (#416) 2019-04-17 22:35:04 +02:00
Kacper Ziubryniewicz
7db7868d2b Fix forwarding replied messages (#417) 2019-04-17 22:34:19 +02:00
Mads Marquart
18ec1f5680 Merge branch 'master' into refactor-model-parsing 2019-04-17 22:06:07 +02:00
Mads Marquart
8e65074b11 Hotfixes
Fix mistakes introduced in #415
2019-04-17 21:56:50 +02:00
Mads Marquart
ec0e3a91d1 Merge branch 'master' into cleanup 2019-04-17 20:50:08 +02:00
Mads Marquart
48e7203ca6 Rename internal variable 2019-04-17 20:47:49 +02:00
Mads Marquart
1eeae78a9f Small refactoring
The `muteX` methods return values are now checked using `check_request`, `seq` is now parsed in `_parseMessage` and a few other things.
2019-03-31 00:16:36 +01:00
Mads Marquart
bc27f756ed Split long strings, use format when creating strings 2019-03-31 00:11:20 +01:00
Mads Marquart
6302d5fb8b Split overly nested calls 2019-03-31 00:07:29 +01:00
Mads Marquart
24e238c425 Remove superfluous whitespace 2019-03-31 00:02:49 +01:00
Mads Marquart
070f57fcc4 Refactor _graphql away 2019-03-30 21:20:20 +01:00
Kacper Ziubryniewicz
a4ce45e9b0 Add detecting replied messages while listening 2019-03-29 21:09:19 +01:00
Kacper Ziubryniewicz
a3efa7702a Add possibility to reply to messages
and to (partly) fetch the replied messages
2019-03-23 21:26:43 +01:00