Commit Graph

17 Commits

Author SHA1 Message Date
D. Scott Boggs 7653513c6f Wrap magic cookie in a mutex
This commit also includes benchmarks proving the viability of reloading the
magic database for every filetype request, should that become necessary.
2022-12-28 08:49:43 -05:00
Matthias Beyer d7453454b3
Fix clippy: Remove unneeded reference
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 15:43:37 +01:00
Matthias Beyer 6bdc0fea5a
Fix clippy: Remove unneeded return statement
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 15:43:08 +01:00
Christian Kruse e0ba85ea1b if magic is disabled `self.magic` is not available
and thus compilation fails with `if cfg!()` construct
2022-12-27 08:22:10 +01:00
D. Scott Boggs 6e5c93d997 Fix bug in media upload, add optional detectoin of mime-/file-type 2022-12-26 11:19:54 -05:00
D. Scott Boggs 5d59c5a462 Add descriptions to media upload methods 2022-12-25 07:01:41 -05:00
D. Scott Boggs ed497d96d4 Improve remote error handling 2022-12-23 12:18:03 -05:00
D. Scott Boggs 2ec3bd42ec Rename elefren to mastodon-async 2022-12-23 12:18:03 -05:00
D. Scott Boggs ed05a7b337 Update to use search v2; fix search example
Search v1 has been removed
2022-12-23 12:18:03 -05:00
D. Scott Boggs 94b7cd4087 Rearrange macro; fix quoting issue 2022-12-22 12:28:08 -05:00
D. Scott Boggs 334e620d3c Add methods for remaining streams 2022-12-18 18:00:58 -05:00
D. Scott Boggs c5141972e4 Add macro for streaming routes 2022-12-18 17:30:23 -05:00
D. Scott Boggs 610d51c593 use SSE for streaming events
The Mastodon API doesn't use WebSockets for sending events, it uses SSE.
That is to say, it sends events as lines in a continually-streamed
response.
2022-12-18 17:25:53 -05:00
D. Scott Boggs 6afdc06cc7 Added authentication and more robust response logs 2022-12-18 16:03:46 -05:00
D. Scott Boggs 648de8c8e5 Add read_response helper
This fixes a bug where a chunked response would be partially read and then hang forever waiting for another chunk, and adds additional debug logging to the request process.
2022-12-07 16:21:00 -05:00
D. Scott Boggs c9fc25a0c9 add logging 2022-12-07 15:58:28 -05:00
D. Scott Boggs e69d92f71e Update client to work asynchronously
- Use reqwest's async client
 - Convert items_iter() to a futures::Stream
 - make Mastodon client an Arc smart pointer, removing the need for OwnedPage.
 - remove MastodonClient and HttpSender traits; these can be re-added once async trait fns are stabilized
 - make EventStream a futures::Stream
2022-12-05 10:35:29 -05:00