Commit Graph

18 Commits

Author SHA1 Message Date
D. Scott Boggs 4fb24a5a21 Drop the magic bullshit
There were too many false positive responses from libmagic to have this
just happen in the background. In a future release I may add a specific
error which is returned when the given file has no extension, and
downstream application developers can use that as an indicator that they
should ask the user if they want to detect the filetype, making use of
libmagic directly in the downstream application as appropriate.
2022-12-28 08:49:43 -05:00
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