6 releases
0.3.2 | Aug 29, 2023 |
---|---|
0.3.1 | Dec 31, 2019 |
0.2.0 | Nov 16, 2018 |
0.1.1 | May 17, 2017 |
#1188 in Web programming
22KB
327 lines
space_email_api
A Rust (via hyper
) interface to space email, "an indirect communication platform that allows for a unique exchange of conversation over space and time."
Documentation is a work in progress.
How to use
Access to space email is facilitated by the space_email_api::SpaceEmailClient
struct. Its methods are relatively self-explanatory if you have used Space Email before. You may refer to its documentation for details.
Coming soon
- More tests and debugging support.
- Documentation on types other than
SpaceEmailClient
, though they should be relatively self-explanatory.
Changelog
- 0.3.2 Update several dependencies and prevent stray PHP warning in the response from breaking
SpaceEmailClient::send
. - 0.3.1 Update
reqwest
andtokio
from alphas to release versions. - 0.3.0: Async-await support!
- Drop
hyper
forreqwest
, which handles a lot of stuff we previously had to think about automatically. - Rewrite
SpaceEmailClient
entirely to usestd::future::Future
and async-await. - Add
EmailId
type to represent the id of aSpaceEmail
. It implementsFrom<u32>
andInto<u32>
.SpaceEmailClient::get_by_id
now takesimpl Into<EmailId>
.SpaceEmail::id
now returnsEmailId
.SpaceEmailClient::star
andSpaceEmailClient::unstar
now takeimpl Into<EmailId>
instead of&SpaceEmail
.SpaceEmailClient::starred_emails
now returns an iterator ofEmailId
rather than grabbing the emails automatically. This gives more flexibility to the user in handling errors, should they occur.
- Remove
SpaceEmailError::Encoding
variant, since it can no longer occur. - Remove dependencies on
lazy_static
andurl
. - Document the methods of
SpaceEmailClient
.
- Drop
- 0.2.0: I'm back and I know rust waaaaay better! Breaking changes abound.
- Following
hyper
's example, switch to a futures-based interface. - Have the user supply their own
hyper::Client
inSpaceEmailClient::new
. This removes the dependency onhyper-native-tls
. - Properly add standard traits to data types now that I understand things.
- Add support for serde on data types, gated behind a feature.
- Add support for premium accounts, finally! Colors and other ranges should now work properly (when logged in).
- Rename
SpaceEmailClient::get_random_with_range
toSpaceEmailClient::get_random_in_range
. - Rename
SpaceEmailColor
toSpaceEmailStyle
and addAdmin
style. - Rename
SpaceEmailClient::get_id
toSpaceEmailClient::get_by_id
. - Add an (untested!) interface for starred emails.
- Update dependencies.
- Following
- 0.1.1: Add Hash, Eq, etc. where appropriate and refactor accessibility of SpaceEmail fields to enforce their guarantees.
Dependencies
~10–24MB
~355K SLoC