912f024163
this is for using the crate `tracing` in the future |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
libpaket
This is an unofficial client to various DHL APIs, more specific the ones that the proprietary app Post & DHL
uses.
Features
- Mail Notification (Briefankündigung)
Goals
- app-driven parcel lockers (App-gesteuerte Packstation)
Deprecation notice
It's recommended that consumers of this crate are always tracking the latest version. If the upstream API changes too much or a better API here is created, there are two ways to mark a function or struct deprecated:
- Soft deprecation/Crate API changes: The normal deprecation notice via
#[deprecated]
(see the RFC#1270 or the rust reference docs). - (Fatal) Upstream API Changes: The soft deprecation marked with
deny(deprecated)
, you can try to override this, but functions with aLibraryResult
will always returnLibraryError::Deprecated
. (NOTE:LibrarayError::APIChange
is reserved for the case where the API-change is unknown. Please upgrade to a or wait for a newer crate version.)
Examples
In the examples error-handling is ignored for simplicity. You don’t want to do that.
Getting mail notifications (Briefankündigung)
// Requires a logged-in user.
let token: libpaket::login::DHLIdToken;
let response = libpaket::WebClient::new().advices(&token).await.unwrap();
let client = libpaket::AdviceClient::new();
if let Some(current_advice) = response.get_current_advice() {
let advices_token = client.access_token(&response),unwrap();
let bin: Vec<u8> = client.fetch_advice_image(¤t_advice.list[0], advice_token).await.unwrap();
}