Commit Graph

45 Commits

Author SHA1 Message Date
Valentin Brandl 6ecde64fc3
Disable default features for reqwest
Using `reqwest` with default-features enabled will enable the
`default-tls`, which in turn will enable the `native-tls` feautre which
will result in an attempt to compile against OpenSSL [0]. If one wants
to use `mastodon-async` without depending on OpenSSL, the default
features for `reqwest` must be disabled.

The default features for `mastodon-async` will enable
`reqwest/default-tls`, so the default behaviour won't change, but now it
is possible to declare the dependency on `mastodon-async` with default
features disabled and the `rustls-tls` feature enabled, allowing to
compile without a dependency on OpenSSL.

[0]: e02df1f448/Cargo.toml (L30)
2023-06-14 19:00:00 +02:00
D. Scott Boggs b3e3575f84 bump version in cargo.toml 2023-06-10 13:28:00 -04:00
Scott Boggs 7d0055e30b
Merge pull request #102 from dscottboggs/dependabot/cargo/criterion-0.5.1
Update criterion requirement from 0.4.0 to 0.5.1
2023-06-01 12:01:36 -04:00
dependabot[bot] 236019fd6f
Update criterion requirement from 0.4.0 to 0.5.1
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.1)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 03:01:20 +00:00
dependabot[bot] 1339015f63
Update html2text requirement from 0.5.0 to 0.6.0
Updates the requirements on [html2text](https://github.com/jugglerchris/rust-html2text) to permit the latest version.
- [Changelog](https://github.com/jugglerchris/rust-html2text/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jugglerchris/rust-html2text/compare/0.5.0...0.6.0)

---
updated-dependencies:
- dependency-name: html2text
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 03:00:50 +00:00
Scott Boggs 321f332723
Merge pull request #98 from joshka/msrv
build: set the rust msrv to 1.65
2023-04-22 06:33:33 -04:00
Josh McKinney 1e8d7f3967 build: set the rust msrv to 1.65
necessary due to the use of workspace.package to handle inherited props
2023-04-14 16:21:35 -07:00
dependabot[bot] da873e4ea8
Update html2text requirement from 0.4.4 to 0.5.0
Updates the requirements on [html2text](https://github.com/jugglerchris/rust-html2text) to permit the latest version.
- [Release notes](https://github.com/jugglerchris/rust-html2text/releases)
- [Changelog](https://github.com/jugglerchris/rust-html2text/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jugglerchris/rust-html2text/compare/0.4.4...0.5.0)

---
updated-dependencies:
- dependency-name: html2text
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 02:59:52 +00:00
D. Scott Boggs 782ae82fb5 Bump version 2023-03-19 12:05:49 -04:00
D. Scott Boggs e279f4bda7 Switch from the `is_variant` crate to the `derive_is_enum_variant` one. 2023-03-19 11:22:51 -04:00
D. Scott Boggs ae3c9ae6ce Bump version 2023-02-13 12:31:10 -05:00
D. Scott Boggs 6f5a2a5e90 Add is_variant methods to all enums 2023-02-01 15:38:48 -05:00
D. Scott Boggs 1081273571 Temporary patch for is_variant enabled 2023-02-01 15:38:48 -05:00
dependabot[bot] 765ab75ea8 Update toml requirement from 0.5 to 0.7
Updates the requirements on [toml](https://github.com/toml-rs/toml) to permit the latest version.
- [Release notes](https://github.com/toml-rs/toml/releases)
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.5.0...toml-v0.7.1)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 08:52:50 -05:00
D. Scott Boggs 77409389ac Drop dependency on serde_qs for now 2023-02-01 07:28:51 -05:00
dependabot[bot] 6b2cb17d9a Update indoc requirement from 1.0 to 2.0
Updates the requirements on [indoc](https://github.com/dtolnay/indoc) to permit the latest version.
- [Release notes](https://github.com/dtolnay/indoc/releases)
- [Commits](https://github.com/dtolnay/indoc/compare/1.0.0...2.0.0)

---
updated-dependencies:
- dependency-name: indoc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 06:05:18 -05:00
D. Scott Boggs 6ff6697b46 This is a minor release, not a patch 2023-01-29 06:56:45 -05:00
D. Scott Boggs b6fd884387 Add client method to wait for attachment processing 2023-01-29 06:13:53 -05:00
D. Scott Boggs 45338d5977 bump version 2023-01-24 15:33:49 -05:00
D. Scott Boggs e662eac46a Fix routes which take an Id type; fix doctests 2023-01-24 15:33:49 -05:00
Matthias Beyer e0f38240b7 Make package fields workspace-wide
This patch makes the "version", "license", "authors" and "edition"
fields in the manifest workspace-wide.

This way we ensure that mastodon-async-entities stays in sync with
mastodon-async.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2023-01-04 08:29:52 -05:00
Matthias Beyer af3facfbf0 Add mastodon_async_entities
This patch move the entities module to a helper-crate.

With this, we give the user the opportunity to use only the entities
types in their codebase, if need be.
One scenario where this is required came up in

    https://github.com/dscottboggs/mastodon-async/issues/38

TL;DR is: A user needed to be able to pass types like `Status` from a
backend part of an application to a frontend which was compiled to WASM.
Because mastodon_async depends on tokio, which does not compile to WASM
(at least not with the features required by mastodon_async).

One option would have been to provide types in the application code
which can be constructed from mastodon_asyncs entity types. This would
lead to _a lot_ of code duplication (over several projects still,... but
that's rather undesireable anyways).

The solution mastodon_async offers with this patch is a helper-crate
which only contains the entity types: mastodon_async_entities.

mastodon_async publicly exports the whole mastodon_async_entities crate,
so users do not have to depend on the latter directly.

In addition to the `entities` module from mastodon_async, also the
`Visibility` type had to be moved.

`mastodon_async_entities` also got an own `Error` type, which
`mastodon_async::Error` can of course wrap.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Suggested-by: D. Scott Boggs <scott@tams.tech>
2023-01-04 08:29:52 -05:00
dependabot[bot] c497e11b4d Update url requirement from 1 to 2
Updates the requirements on [url](https://github.com/servo/rust-url) to permit the latest version.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v1.0.0...v2.3.1)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 07:17:24 -05:00
D. Scott Boggs f830671ee9 Make tokio's rt-multi-thread enabled again in examples 2023-01-01 11:22:43 -05:00
D. Scott Boggs 6ba0cd03f8 Drop unnecessary tokio feature dependency 2022-12-30 07:16:29 -05:00
D. Scott Boggs f037379d0f drop dependency on hyper-old-types in favor of parse_link_header 2022-12-29 14:06:07 -05:00
Matthias Beyer 5832111f46 Replace dependency "chrono" with "time"
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-29 13:43:26 -05:00
D. Scott Boggs 96fbef900e Change error implementation to use thiserror 2022-12-29 13:27:41 -05:00
dependabot[bot] cd64bbb150
Update serde_urlencoded requirement from 0.6.1 to 0.7.1
Updates the requirements on [serde_urlencoded](https://github.com/nox/serde_urlencoded) to permit the latest version.
- [Release notes](https://github.com/nox/serde_urlencoded/releases)
- [Commits](https://github.com/nox/serde_urlencoded/commits)

---
updated-dependencies:
- dependency-name: serde_urlencoded
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-28 14:48:26 +00:00
D. Scott Boggs f82725c9dc Add dependency on percent_encoding
percent_encoding used to be a part of url before v2.
2022-12-28 09:39:49 -05:00
dependabot[bot] 3b9e1833d5
Update serde_qs requirement from 0.4.5 to 0.10.1
Updates the requirements on [serde_qs](https://github.com/samscott89/serde_qs) to permit the latest version.
- [Release notes](https://github.com/samscott89/serde_qs/releases)
- [Commits](https://github.com/samscott89/serde_qs/commits)

---
updated-dependencies:
- dependency-name: serde_qs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-28 13:57:25 +00:00
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
D. Scott Boggs b571352dca bump version 2022-12-26 17:48:42 -05: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 88bfa67f5a bump version 2022-12-25 07:10:03 -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 e5fe0b6b59 Add event-logging example 2022-12-23 12:18:03 -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 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
D. Scott Boggs f054c7d805 Update Rust Edition; Update dependencies
Async needs added
2022-11-29 18:50:29 -05:00
D. Scott Boggs 96b16c62d9 initial state; elefren 0.22.0 2022-11-27 09:44:43 -05:00